Ответ 1
result.extend(item)
Как я могу добавить содержимое каждого из следующих кортежей (т.е. элементов в списке) в другой список, в котором уже есть что-то? Итак, я хочу добавить в список следующее (например: result []), которое не пусто:
l = [('AAAA', 1.11), ('BBB', 2.22), ('CCCC', 3.33)]
Очевидно, следующее не делает ничего:
for item in l:
result.append(item)
print result
Я хочу распечатать:
[something, 'AAAA', 1.11]
[something, 'BBB', 2.22]
[something, 'CCCC', 3.33]
result.extend(item)
Вы можете легко конвертировать кортеж в список:
>>> t = ('AAA', 1.11)
>>> list(t)
['AAAA', 1.11]
И затем вы можете объединить списки с помощью extend
:
>>> t = ('AAA', 1.11)
>>> result = ['something']
>>> result.extend(list(t))
['something', 'AAA', 1.11])
Вы можете использовать встроенную функцию list()
для преобразования кортежа в список. Таким образом, более простая версия:
l = [('AAAA', 1.11), ('BBB', 2.22), ('CCCC', 3.33)]
result = [list(t) for t in l]
print result
Вывод:
[['AAAA', 1.1100000000000001],
['BBB', 2.2200000000000002],
['CCCC', 3.3300000000000001]]
Вам нужно будет распаковать кортеж, чтобы добавить его отдельные элементы. Вот так:
l = [('AAAA', 1.11), ('BBB', 2.22), ('CCCC', 3.33)]
for each_tuple in l:
result = ['something']
for each_item in each_tuple:
result.append(each_item)
print result
Вы получите следующее:
['something', 'AAAA', 1.1100000000000001]
['something', 'BBB', 2.2200000000000002]
['something', 'CCCC', 3.3300000000000001]
Вам нужно будет обработать некоторые числовые значения, чтобы они отображались правильно, но это был бы другой вопрос.