我有一個字符串說 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()'中。 –