【问题标题】:Insert elements in lists under array python在数组python下的列表中插入元素
【发布时间】:2017-01-20 00:31:56
【问题描述】:

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

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

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

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

我正在尝试以相同的顺序将“添加”附加到“数据”,这样输出应该如下所示:

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

这可能吗?

【问题讨论】:

    标签: python arrays list python-2.7 tuples


    【解决方案1】:

    您可以将列表推导与enumerate() 一起使用:

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

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

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

    【讨论】:

    • 这正是我想要的。谢谢克里斯!
    【解决方案2】:

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

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

    (适用于 Python 2 和 3)

    【讨论】:

      猜你喜欢
      • 2021-11-02
      • 2020-07-14
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-27
      • 1970-01-01
      相关资源
      最近更新 更多