将元组附加到列表中

时间:2010-07-18 02:30:44

标签: python

如何将以下每个元组(即列表中的元素)的内容附加到另一个已经包含“内容”的列表中? 所以,我想将以下内容附加到一个非空的列表(例如: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]

4 个答案:

答案 0 :(得分:32)

result.extend(item)

答案 1 :(得分: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]]

答案 2 :(得分:3)

您可以轻松地将元组转换为列表:

>>> 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 :(得分:-1)

您需要解压缩元组以附加其各个元素。像这样:

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]

您需要对数值进行一些处理才能正确显示,但那是另一个问题。