如何在Python中同时为几个不同的列表进行相同的迭代

foo*_*ood 3 python iterator list python-2.7

如果我有不同长度的多个列表,有一种简单的方法可以对所有这些列表进行相同的迭代.

所以写下这样的东西:

for item in list1:
    function(item)
for item in list2:
    function(item)
.
.
.
for item in listn:
   function(item)
Run Code Online (Sandbox Code Playgroud)

我只写了类似的东西:

for item in list1,list2,...,listn:
    function(item)
Run Code Online (Sandbox Code Playgroud)

我知道你可以通过组合列表来实现这一点,我希望比每次调用函数时更有效率

glg*_*lgl 11

itertools模块涵盖了与迭代有关的任务.

你有一个可以做的chain()功能

import itertools
for item in itertools.chain(list1, list2, list3):
    function(item)
Run Code Online (Sandbox Code Playgroud)

顺便说一下,整个标准的lib文档值得一读,有很多有趣的东西可以阻止你重新发明轮子.