Python 如何将列表与列表配对?
我有两份清单:Python 如何将列表与列表配对?,python,list,tuples,Python,List,Tuples,我有两份清单: xy = [[1,2],[3,4],[5,6]] z = [1,3,5] 我想合并它们以获得: xyz = [[1,2,1],[3,4,3],[5,6,5]] 或 我是如何做到这一点的: for i,lst in enumerate(xy): lst.append(z[i]) xy 有没有更简洁的方法不用for循环或其他什么?如果您使用的是Python 3.5+,您可以使用: 这也使用和使它成为一个简单的单行程序 如果您根本不想使用for循环,实际上有一种方法可以使
xy = [[1,2],[3,4],[5,6]]
z = [1,3,5]
我想合并它们以获得:
xyz = [[1,2,1],[3,4,3],[5,6,5]]
或
我是如何做到这一点的:
for i,lst in enumerate(xy):
lst.append(z[i])
xy
有没有更简洁的方法不用for循环或其他什么?如果您使用的是Python 3.5+,您可以使用: 这也使用和使它成为一个简单的单行程序 如果您根本不想使用for循环,实际上有一种方法可以使用函数式编程,但这可能不是最好的方法。Python不喜欢函数式编程:
xyz = map(lambda a, b: a + [b], xy, z)
这可能是一种更整洁的方式:
Ret = [a + [b] for a, b in zip(xy, z)]
具有枚举功能的短列表理解:
result = [l+[z[k]] for k,l in enumerate(xy)]
print(result)
输出:
[[1, 2, 1], [3, 4, 3], [5, 6, 5]]
为了便于阅读,我建议列出理解:
[a + [b] for a, b in zip(xy, z)]
显然,没有循环就无法完成。
[[1, 2, 1], [3, 4, 3], [5, 6, 5]]
[a + [b] for a, b in zip(xy, z)]