Подтвердить что ты не робот

Добавить кортежи в список

Как я могу добавить содержимое каждого из следующих кортежей (т.е. элементов в списке) в другой список, в котором уже есть что-то? Итак, я хочу добавить в список следующее (например: 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]
4b9b3361

Ответ 1

result.extend(item)

Ответ 2

Вы можете легко конвертировать кортеж в список:

>>> t = ('AAA', 1.11)
>>> list(t)
['AAAA', 1.11]

И затем вы можете объединить списки с помощью extend:

>>> t = ('AAA', 1.11)
>>> result = ['something']
>>> result.extend(list(t))
['something', 'AAA', 1.11])

Ответ 3

Вы можете использовать встроенную функцию 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]]

Ответ 4

Вам нужно будет распаковать кортеж, чтобы добавить его отдельные элементы. Вот так:

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]

Вам нужно будет обработать некоторые числовые значения, чтобы они отображались правильно, но это был бы другой вопрос.