【问题标题】:Appending first value of a list into the first value of another list; python将列表的第一个值附加到另一个列表的第一个值中; Python
【发布时间】:2011-11-03 14:14:57
【问题描述】:

在 python 2.7 中工作。

我有两个列表(简化以使解释更清楚)。

T = [[1,0], [1,0], [0,5], [3, -1]]
B = [[1], [3], [2], [2]]

我想追加第二个列表 (B),以便将 B 列表的第一个值追加到 T 列表中的第一个列表,依此类推。

Ex- 我希望输出看起来像:

T = [[1, 0, 1], [1, 0, 3], [0, 5, 2], [3, -1, 2]]

我尝试过使用不同类型的附加函数,但没有找到任何可行的方法。懂python,肯定有办法的。

【问题讨论】:

    标签: python list append


    【解决方案1】:
    map(list.extend, T, B)
    

    或者,如果您更喜欢显式循环

    for t, b in zip(T, B):
        t.extend(b)
    

    【讨论】:

    • 使用map应该更快,仅作记录。
    【解决方案2】:

    使用zip

    >>> t = [[1,0], [1,0], [0,5], [3, -1]]
    ... b = [[1], [3], [2], [2]]
    >>> [x + y for x, y in zip(t, b)]
    3: [[1, 0, 1], [1, 0, 3], [0, 5, 2], [3, -1, 2]]
    

    【讨论】:

    • 这是一个非就地版本,这不是所要求的,但通常是一个更好的主意。
    猜你喜欢
    • 1970-01-01
    • 2013-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多