Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将列表与列表配对?_Python_List_Tuples - Fatal编程技术网

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)]