String Python:向字符串添加字母表

String Python:向字符串添加字母表,string,python-3.x,list,alphabetical,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','a

我试图将所有字母表逐个添加到字符串中的所有位置,代码如下:

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'...]

有人知道如何解决这个问题吗。谢谢。

您可以使用嵌套列表一次构建整个列表

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)]

你期望的结果是什么?你想用这个达到什么目的?最明显的错误是每次都要重新分配结果。您还可以使用
范围(len(var))
(应该是
范围(len(var)+1)
)关闭一个。这不是代码高尔夫。。。这段代码不能让人更容易理解有什么原因吗?我放弃了每个循环中覆盖
result
的post,因此您只会看到
ascii\u小写
中最后一个字符的结果是
z
。这会在开始时产生重复,如
“aabc”