我有一个字符串说 string = 'bcde'
改变蟒蛇单词的第一个字母在字母表中的所有字母,并生成一个列表
我想要做的是从更换的第一个字母string
(即b
)并将其替换为字母表中每个字母的迭代,直到z。
所需的输出:
['acde', 'bcde', 'ccde', 'dcde', 'ecde', 'fcde', ..., 'zcde']
这是我目前使用的代码,但我得到了错误的输出:
a = 'bcde'
a = list(a)
alphabet = 'abcdefghijklmnopqrstuvwxyz'
alphabet = list(alphabet)
final = []
for n,i in enumerate(a):
if i==b:
a[i] = [alphabet[x] for x in alphabet ]
final.append(a[i])
你不想遍历'a',因为你只想改变'a'的第一个字母。你也可以遍历字母表,最简单的方法是将字母连接到'a [1:]'。 – roganjosh
喜欢它或讨厌它在这里它是在一个地图'lambda x:x [0] + x [1],zip(alphabet,itertools.cycle((s [1:],))))' – themistoklik
@ themistoklik'itertools.repeat(s [1:])'比'itertools.cycle((s [1:],))'更简洁。而在Python 3中,您需要将'map'调用包装在'list()'中。 –