Сгладьте список, чтобы «удалить скобки», используя вложенный список. Это приведет к отмене вложенности каждого списка, хранящегося в вашем списке списков!
list_of_lists = [[180.0], [173.8], [164.2], [156.5], [147.2], [138.2]]
flattened = [val for sublist in list_of_lists for val in sublist]
Понимания вложенных списков оцениваются так же, как они разворачиваются (т. Е. Добавляют новую строку и табуляцию для каждого нового цикла. Итак, в этом случае:
flattened = [val for sublist in list_of_lists for val in sublist]
эквивалентно:
flattened = []
for sublist in list_of_lists:
for val in sublist:
flattened.append(val)
Большая разница в том, что список comp вычисляет НАМНОГО быстрее, чем развернутый цикл, и исключает вызовы добавления!
Если у вас есть несколько элементов в подсписке, список даже сгладит их. т.е.
>>> list_of_lists = [[180.0, 1, 2, 3], [173.8], [164.2], [156.5], [147.2], [138.2]]
>>> flattened = [val for sublist in list_of_lists for val in sublist]
>>> flattened
[180.0, 1, 2, 3, 173.8, 164.2, 156.5, 147.2,138.2]
person
Paul Seeb
schedule
29.06.2012