如有重复,我深表歉意,但我进行了搜索,但找不到解决我当前问题的任何主题。

我想知道是否有某种pythonic方式可以并行访问两个(或多个)子列表。我已经很了解zip函数,因此我将在一个简短的示例中使用它来解释我想做什么。假设我有以下两个列表:

list1 = [1,2,3]
list2 = [4,5,6]


我知道我可以像这样同时遍历它们:

>>> newlist = [i+j for i,j in zip(list1, list2)]
>>> newlist
[5,7,9]


但是,通过我的数据处理方式,我想做些不同的事情。而不是两个独立的列表,我的数据存储看起来像这样:

biglist = [[1,2,3], [4,5,6]]


我知道我可以提取每个子列表作为它自己的变量,但是我还希望可以做更多这样的事情:

newbiglist = [i+j for i,j in zip(biglist)]


python能够识别biglist中有两个子列表的地方。有谁知道可以执行类似操作的功能吗?

最佳答案

两个或两个以上您可以尝试

[sum(i) for i in  zip(*biglist)]


在这里i将是可迭代的,因此您可以使用任何接受可迭代的函数,也可以编写自己的函数。

关于python - 如何并行遍历两个子列表?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47535672/

10-16 12:06