用其他字母替换列表中的特定字母

时间:2012-05-06 08:43:02

标签: python list replace

我有一个如下所示的列表:

foo = ["z", "q", "t", "a", "p", "m", "n", "b", "c", "w", "l", "d", "f", "h",
       "y", "e", "j", "k", "g", "i", "o", "r", "u", "s", "v", "x"]

我有另一个列表如下:

bar = ["h", "e", "l", "l", "o", "m", "y", "n", "a", "m", "e", "i", "s", "r",
       "e", "a", "l", "l", "y", "l", "o", "n", "g", "a", "n", "d"]

我想要做的是使用foo的第一个元素,并用它替换bar的第一个元素,这样foo的第一个元素现在总是值"h",所以如果{{1}再次出现在bar中,"h"(foo的第一个元素)被自动放入。然后foo的第二个元素被替换为bar的第二个元素(除非它是"z")并且然后第二个元素变为"h",依此类推,直到使用foo为字母加密整数或条形。然后打印新栏,但加密过程中的字母已更改。

2 个答案:

答案 0 :(得分:2)

实际上非常简单:

new_string = ''

for every letter in your string:
  new_string = new_string + bar[index of the "letter" in foo]

我会留给你找出合适的Python函数,因为你可以自己学习如何做到这一点。

答案 1 :(得分:0)

与Blender的方法一致,这是另一种方法。

new_string = ''
cipher = dict(zip(foo,bar))
for every_letter in your_string: 
    # use more python magic here 

如果您打算使用python,您应该了解dict