压缩嵌套列表

2024-04-25 21:51:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试,但无法压缩以下两个列表在一个特定的方式。你知道吗

list1=[(1,2,3),(4,5,6),(7,8,9)]
list2=[10,11,12]
zippedlist=[(1,2,3,10),(4,5,6,11),(7,8,9,12)]

我最初以为解包list1并运行zip(*list1,list2)就可以了,但现在我明白这行不通了。你知道吗

我怀疑这可以通过使用一个或多个for循环和zip函数来实现,但我不太确定这是如何工作的。你有什么建议吗?你知道吗


Tags: 函数列表for方式zip建议list2list1
3条回答

或者在列表中使用+运算符:

list1=[(1,2,3),(4,5,6),(7,8,9)]
list2=[10,11,12]

new_list = [i+(v,) for i,v in zip(list1,list2)]

#[(1, 2, 3, 10), (4, 5, 6, 11), (7, 8, 9, 12)]

也可以使用map

list(map(lambda x, y: x +(y,), list1, list2))
# [(1, 2, 3, 10), (4, 5, 6, 11), (7, 8, 9, 12)]

使用zip

例如:

list1=[(1,2,3),(4,5,6),(7,8,9)]
list2=[10,11,12]

result = [tuple(list(i) + [v]) for i, v in zip(list1, list2)]
print(result)

输出:

[(1, 2, 3, 10), (4, 5, 6, 11), (7, 8, 9, 12)]

相关问题 更多 >