Python 在For循环中迭代两个范围
我有几个简单的循环,如下所示:Python 在For循环中迭代两个范围,python,Python,我有几个简单的循环,如下所示: for i in range (30, 52): #do some stuff here for i in range (1, 18): #do some more stuff 我想使用顺序语法将其压缩为一个循环: for i in range((30, 52), (1, 18): #do some stuff 我意识到语法不起作用,但这是我所需要的基本概念。我见过有人使用zip同时迭代两个范围,但这不是我需要的 有什么想法吗?
for i in range (30, 52):
#do some stuff here
for i in range (1, 18):
#do some more stuff
我想使用顺序语法将其压缩为一个循环:
for i in range((30, 52), (1, 18):
#do some stuff
我意识到语法不起作用,但这是我所需要的基本概念。我见过有人使用zip同时迭代两个范围,但这不是我需要的
有什么想法吗?来自:
生成一个迭代器,从第一个iterable返回元素,直到
它已耗尽,然后继续下一个iterable,直到所有
人们都筋疲力尽了。用于将连续序列作为一个整体处理
单一序列
例如:
import itertools as it
for i in it.chain(range(30, 52), range(1, 18)):
print(i)
您可以将范围的两个迭代器转换为列表,然后将它们与加法组合:
对于列表中的i(范围(30,52))+列表(范围(1,18)):
#某物
使用链接链接它们。@AshwiniChaudhary您好,谢谢您的回复。你不能详细说明语法,是吗?谢谢。@AshwiniChaudhary我想OP要的是产品
吗?@Kasra他们有单独的循环,不是嵌套的,所以…@AshwiniChaudhary是的,看起来是这样!这非常有效。谢谢。将在8分钟内接受!虽然此代码可以回答此问题,但提供有关此代码回答此问题的原因和/或方式的附加上下文可提高其长期值。似乎+
操作数不允许在范围之间。
for i in range(30, 52) + range(1, 18):
#something