我有蟒蛇兩個嵌套表,例如:有效的方式列出的兩個列表一起拼接在python
lst1 = [
[ [1,2],[3,4] ], [ [5,6,7],[8,9,10] ]
]
lst2 = [
[ [11,12],[13,14] ], [ [15,16,17],[18,19,20] ]
]
我希望能夠把對應的扁平版本的索引列表並返回「交叉」列表:
例如指數是5,輸出新的列表
lst3 = [
[ [1,2],[3,4] ], [ [5,16,17],[18,19,20] ]
]
我可以做一個三重嵌套循環做到這一點,但我知道必須有蟒蛇更快的方式,可能會使用迭代器?
編輯:我是問如何更有效地做到以下幾點:
lst1 = [
[ [1,2],[3,4] ], [ [5,6,7],[8,9,10] ]
]
lst2 = [
[ [11,12],[13,14] ], [ [15,16,17],[18,19,20] ]
]
lst3 = []
counter = 0
for i in xrange(len(lst1)):
for j in xrange(len(lst1[i])):
temp1 = []
for k in xrange(len(lst1[i][j])):
temp2 = []
counter += 1
if counter > 5:
temp2.append(lst2[i][j][k])
else:
temp2.append(lst1[i][j][k])
temp1.append(temp2)
lst3.append(temp1)
print lst1
print lst2
print lst3
lst3結果:
[[[1], [2]], [[3], [4]], [[5], [16], [17]], [[18], [19], [20]]]
你將不得不解釋如何輸入相應的輸出。 – user2357112
通過[教程](https://docs.python.org/3/tutorial/index.html#the-python-tutorial)工作,瞭解可用的工具。也許首先寫在紙上,用你的*自然語言,完成任務所需的步驟。試着把它變成僞代碼,最後是實際的代碼。如果你遇到實際的代碼,請回來問問。請閱讀[問]和[mcve]。 – wwii