python 2.7中的嵌套列表(列表列表)
我需要创建一个列表列表。我已经包含了一些导致我遇到问题的代码。底部的主列表是所需的输出。我试图解释我的代码,并演示清楚理解的步骤python 2.7中的嵌套列表(列表列表),python,list,nested,Python,List,Nested,我需要创建一个列表列表。我已经包含了一些导致我遇到问题的代码。底部的主列表是所需的输出。我试图解释我的代码,并演示清楚理解的步骤 storeTask = list(islice((t for t in list5 if t[1] == 'Tasked'), 3)) print storeTask返回以下内容: [['Acq666666', 'Tasked', 'Location', 'Movie', '20XX-MM-YYYY','XXXX', ['367179', 'Image 6'],
storeTask = list(islice((t for t in list5 if t[1] == 'Tasked'), 3))
print 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']]]
['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']]
我在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])
print st返回以下内容:
[['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']]]
['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']]
我问了一个类似的问题,但未能成功使用。其他代码可能会有所帮助,下面的内容是否可以解决您的问题
masterList = [flatten(st) for st in storeTask]
也许通过生成最后一个结果的代码,有人可以识别出哪里出了问题?