列表推导式用于合并两个列表

3
我有两个序列,如下所示:
t = [[1,2,3],[4,5,6],[7,8,9]]
alpha = ['a','b','c']

如何使用列表推导式将 t 修改为以下内容:-
t = [[1,2,3,'a'],[4,5,6,'b'],[7,8,9,'c']]
3个回答

5

use zip:

t = [[1,2,3],[4,5,6],[7,8,9]]
alpha = ['a','b','c']
new_list = [a+[b] for a, b in zip(t, alpha)]

输出:

[[1, 2, 3, 'a'], [4, 5, 6, 'b'], [7, 8, 9, 'c']]

4

您可以使用zip函数获取相应元素的对,然后只需将它们连接起来即可:

>>> t = [[1,2,3],[4,5,6],[7,8,9]]
>>> alpha = ['a','b','c']
>>> [x[0] + [x[1]] for x in zip(t,alpha)]
[[1, 2, 3, 'a'], [4, 5, 6, 'b'], [7, 8, 9, 'c']]

这似乎是最符合Python风格的方法。这是一个清晰的列表推导式,可用于其他需要迭代和操作两个列表的情况。 - David Kamer

3

遍历索引:

t = [[1,2,3],[4,5,6],[7,8,9]]
alpha = ['a','b','c']
print([t[i] + [alpha[i]] for i in range(len(alpha))])

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接