2015-05-07 2 views
0

Мне нужно создать список списков. Я включил некоторый код, ведущий к тому, где у меня проблемы. masterList внизу - желаемый результат. Я попытался объяснить свой код и продемонстрировать шаги для ясного понимания.Вложения в python 2.7 (список)

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

печати 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']]] 

я цикл через 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]) 

печать ул возвращает это:

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

У меня есть задал аналогичный вопрос, но не смог использовать его с успехом.

+1

Возможно, с кодом, породившим последний результат, кто-то может определить, где он поступил не так? – kporter

ответ

0

Дополнительный код будет полезен, будет ли что-то вроде следующего решить вашу проблему?

masterList = [flatten(st) for st in storeTask] 
Смежные вопросы