如何扩展循环代码的列表理解?

How to expand list comprehensed for loop code?

我试图将此列表理解代码扩展为非 pythonic 常规方式,但我做不到,有人可以帮忙吗?

charlist = 'abcdefghijklmnopqrstuvwxyz'
complete = []

for current in range(2):
    a = [i for i in charlist]
    for x in range(current):
        a = [y + i for i in charlist for y in a]
        complete += a
print(a)

我试过了 -->

# password --> secr
charlist = 'abcdefghijklmnopqrstuvwxyz'
complete = []
a=[]
for current in range(2):
    for i in charlist:
        a.append(i)
        for x in range(current):
            for i in charlist:
                for y in a:
                    a.append(y+i)
                    complete += a
print(complete)

但是没有结果。

a = [i for i in charlist]用于初始化a,但是你在尝试初始化a.

时为其余代码添加了另一层for循环

另外 a = [y + i for i in charlist for y in a] 在计算后更改 a,但是您的代码在循环 a.

时更改 a
charlist = 'abcdefghijklmnopqrstuvwxyz'
complete = []
for current in range(2):
    a=[]
    for i in charlist:
        a.append(i)
    for x in range(current):
        new_a = []
        for i in charlist:
            for y in a:
                new_a.append(y+i)
        complete += new_a
        a = new_a