fiz*_*zis 0 python tuples list
我有两个清单:
xy = [[1,2],[3,4],[5,6]]
z = [1,3,5]
Run Code Online (Sandbox Code Playgroud)
我想将它们合并以获得:
xyz = [[1,2,1],[3,4,3],[5,6,5]]
Run Code Online (Sandbox Code Playgroud)
要么
xyz = [(1,2,1),(3,4,3),(5,6,5)]
Run Code Online (Sandbox Code Playgroud)
以下是我实现这一目标的方法:
for i,lst in enumerate(xy):
lst.append(z[i])
xy
Run Code Online (Sandbox Code Playgroud)
有没有更简洁的方法可以不使用for循环或其他东西?
如果您使用的是Python 3.5+,则可以使用PEP 448:
xyz = [(*a, b) for a, b in zip(xy, z)]
Run Code Online (Sandbox Code Playgroud)
如果您根本不想使用for循环,实际上有一种使用函数式编程的方法map(),但这可能不是最好的方法(Python不支持函数式编程):
xyz = map(lambda a, b: a + [b], xy, z)
Run Code Online (Sandbox Code Playgroud)