我想在Python中遍历+列举两个列表。下面的代码看起来很丑。有没有更好的解决方案?在Python中结合枚举+ itertools.izip
for id, elements in enumerate(itertools.izip(as, bs)):
a = elements[0]
b = elements[1]
# do something with id, a and b
谢谢。
我想在Python中遍历+列举两个列表。下面的代码看起来很丑。有没有更好的解决方案?在Python中结合枚举+ itertools.izip
for id, elements in enumerate(itertools.izip(as, bs)):
a = elements[0]
b = elements[1]
# do something with id, a and b
谢谢。
您可以在for循环分配和b:
for id, (a, b) in enumerate(itertools.izip(as, bs)):
# do something with id, a and b
你可以使用itertools.count
代替enumerate
:
for id_, a, b in itertools.izip(itertools.count(), as_, bs):
# do something with id_, a and b
请注意,我已经改变了变量名稍微避免保留字和内建的名称。
根据PEP-8对变量名进行了很好的改变,使用'enumerate'上的itertools.count'实际上并没有改进。 – jamylak
恕我直言,这是一个改进,因为你可以使用itertools.izip(itertools.count(),as_,bs)'experssion作为'multiprocessing.pool.map_async()'的参数,这对于for循环。 – user1898037
哦,相当不错,很简单。 –
你可以相信Python有一个不错的和简单的解决方案:)。 –