我是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 ...
我非常感谢您能带来的任何帮助。非常感谢您抽出宝贵的时间阅读本文!
没有理由在这里使用pop
。 pop
实际上是破坏性的,因为在['a', 'b', 'c'].pop()
之后,'c'
不再可用于填充任何其他列表。
我将列表更改为只有1个索引。您提供的代码中的一个有2个索引,因为它就像一个列表中的列表。