在数组python下的列表中插入元素

时间:2016-09-12 14:19:55

标签: python arrays list python-2.7 tuples

我有一个由元组组成的数组。

Data = [('1234', 'abcd'), ('5678', 'efgh')]

我现在在数组中有另一组变量:

add = ["#happy", "#excited"]

我正在尝试以相同的顺序将'add'附加到'Data',以使输出看起来像:

data_new = [('1234', 'abcd', '#happy'), ('5678', 'efgh',"#excited")]

这可能吗?

2 个答案:

答案 0 :(得分:2)

您可以将列表理解与enumerate()

一起使用
>>> Data = [('1234', 'abcd'), ('5678', 'efgh')]
>>> add = ['#happy', '#excited']
>>> [x + (add[i],) for i,x in enumerate(Data)]
[('1234', 'abcd', '#happy'), ('5678', 'efgh', '#excited')]

请注意,解决此类问题的常见pythonic方法是使用zip(),但它并不会立即为您的示例提供所需的输出,因为您最终会使用嵌套元组:

>>> zip(Data,add) # or list(zip(Data,add)) in Python3
[(('1234', 'abcd'), '#happy'), (('5678', 'efgh'), '#excited')]

答案 1 :(得分:1)

您可以在列表推导中添加元组并使用zip:

>>> [t+(e,) for t, e in zip(Data, add)]
[('1234', 'abcd', '#happy'), ('5678', 'efgh', '#excited')]

(适用于Python 2和3)