我如何使用python的pop和append创建一系列变量列表?

问题描述 投票:0回答:2

我是python的新手,正尝试获取一系列以不同顺序排列的变量。例如,我想列出几个列表,例如ABC,DEF,GHI,并获取ADG,ADH,ADI,AEG,AEH ...等的输出。我确信这并不像我做的那么难,但是我对使用pop和append in loops来做到这一点有些迷茫。

我一直在以不同的顺序处理pop和append以尝试创建所需的输出,但是我认为我不太了解append的工作方式。我可以得到一个输出,该输出的字母顺序是我想要的,但是有了(我的意思是我的代码,请参见我的代码)很多我不想打印的额外列表项。

first=[["A"],["B"],["C"]]
second=[["D"],["E"],["F"]]
third=[["G"],["H"],["I"]]
possible=[]

for letter1 in first: 
    possible.append(letter1) 
    for letter2 in second: 
        possible.append(letter2)
        for letter3 in third: 
            possible.append(letter3)
print(possible)

其输出是:[['A'],['D'],['G'],['H'],['I'],['E'],['G'],['H'],[ 'I'],['F'],['G'],['H'],['I'],['B'],['D'],['G'],['H '],['I'],['E'],['G'],['H'],['I'],['F'],['G'],['H'] ,['I'],['C'],['D'],['G'],['H'],['I'],['E'],['G'],[ 'H'],['I'],['F'],['G'],['H'],['I']]

我想要的是:ADG,ADH,ADI,AEG,AEH,AEI,AFG,AFH,AFI,BDG ...

我非常感谢您能带来的任何帮助。非常感谢您抽出宝贵的时间阅读本文!

python list append
2个回答
0
投票

没有理由在这里使用poppop实际上是破坏性的,因为在['a', 'b', 'c'].pop()之后,'c'不再可用于填充任何其他列表。


0
投票

我将列表更改为只有1个索引。您提供的代码中的一个有2个索引,因为它就像一个列表中的列表。

© www.soinside.com 2019 - 2024. All rights reserved.