python 2.7 中的嵌套列表(列表的列表)

Nesting lists in python 2.7 (list of list)

我需要创建一个列表列表。我已经包含了一些导致我遇到问题的代码。底部的 masterList 是所需的输出。我已尝试解释我的代码并演示清楚理解的步骤。

storeTask = list(islice((t for t in list5 if t[1] == 'Tasked'), 3))

打印 storeTask returns 这个:

[['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']]]

我循环遍历 storeTask 并对元素进行计数。如果计数为 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 returns 这个:

['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']]

要删除嵌套列表,我使用 flatten

mstock = flatten(st)

打印 mstock returns:

['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']]

我也问过类似的问题,但是没用成功

额外的代码会有所帮助,像下面这样的代码能解决您的问题吗?

masterList = [flatten(st) for st in storeTask]