0
我需要創建一個列表清單。我已經包含了一些導致我遇到問題的代碼。底部的masterList是所需的輸出。我試圖解釋我的代碼並展示清晰理解的步驟。Python 2.7中的嵌套列表(列表清單)
storeTask = list(islice((t for t in list5 if t[1] == 'Tasked'), 3))
打印storeTask返回這樣的:通過storeTask
[['Acq666666', 'Tasked', 'Location', 'Movie', '20XX-MM-YYYY','XXXX', ['367179', 'Image 6'], ['367179', 'VID 12']], ['Acq777777', 'Tasked', 'Location', 'Movie', '20XX-MM-XXXX', 'XXXX ', ['367194', 'Image 1'], ['367194', 'VID 5']], ['Acq888888', 'Tasked', 'Location', 'Movie', '20xx-MM-YYYY', 'XXXX', ['367195', 'VID 9']]]
我環路和計數的元素。如果計數是8,我刪除第二個嵌套列表的第一個元素。
for st in storeTask:
taskedL = len(st)
if taskedL == 6: pass
if taskedL == 7: pass
if taskedL == 8:
longList = st[7]
del(longList[0])
打印ST返回此:
['Acq666666', 'Tasked', 'Location', 'Movie', '20XX-MM-YYYY', 'XXXX', ['367179', 'Image 6'], ['VID 12']]
['Acq777777', 'Tasked', 'Location', 'Movie', '20XX-MM-YYYY', 'XXXX', ['367194', 'Image 1'], ['VID 5']]
['Acq888888', 'Tasked', 'Location', 'Movie', '20XX-MM-YYYY', 'XXXX', ['367195', 'VID 9']]
要刪除我用壓扁
mstock = flatten(st)
打印mstock返回嵌套列表:
['Acq666666', 'Tasked', 'Location', 'Movie', '20XX-MM-YYYY', 'XXXX', '367179', 'Image 6', 'VID 12']
['Acq777777', 'Tasked', 'Location', 'Movie', '20XX-MM-YYYY', 'XXXX', '367194', 'Image 1', 'VID 5']
['Acq888888', 'Tasked', 'Location', 'Movie', '20XX-MM-YYYY', 'XXXX', '367195', 'VID 9']
這也正是結果我需要。但是,我需要將這些列表重新放回主列表中。下面是我想什麼,輸出是:
masterList = [
['Acq666666', 'Tasked', 'Location', 'Movie', '20XX-MM-YYYY', 'XXXX', '367179', 'Image 6', 'VID 12']
['Acq777777', 'Tasked', 'Location', 'Movie', '20XX-MM-YYYY', 'XXXX', '367194', 'Image 1', 'VID 5']
['Acq888888', 'Tasked', 'Location', 'Movie', '20XX-MM-YYYY', 'XXXX', '367195', 'VID 9']
]
**我試圖創建一個空的列表,並追加他們,但結果產生這種每個列表:
[['Acq888888', 'Tasked', 'Location', 'Movie', '20XX-MM-YYYY', 'XXXX', '367195', 'VID 9']]
[['Acq666666', 'Tasked', 'Location', 'Movie', '20XX-MM-YYYY', 'XXXX', '367179', 'Image 6', 'VID 12']]
我有問了一個類似的問題,但一直未能成功地使用。
也許在生成最後結果的代碼中,有人可以確定哪裏出錯了? – kporter