Python:在字符串

时间:2017-12-28 22:48:42

标签: string python-3.x list alphabetical

我试着将所有字母表一个一个地添加到字符串中的所有位置,这就是代码:

from string import ascii_lowercase
var = 'abc'
for i in ascii_lowercase:
    result = [var[:j] + i + var[j:] for j in range(len(var))]

但这是我得到的:

['zabc', 'azbc', 'abzc']

这是我所期待的:

['aabc', 'abac', 'abca','babc','abbc','abcb'...]

有谁知道如何解决这个问题。感谢。

1 个答案:

答案 0 :(得分:2)

您可以使用嵌套列表解析

一次构建整个列表
from string import ascii_lowercase
var = 'abc'

result = [var[:n]+c+var[n:] for c in ascii_lowercase for n in range(len(var)+1)]