我有几个简单的循环,如下所示:
for i in range (30, 52):
#do some stuff here
for i in range (1, 18):
#do some more stuff
Run Code Online (Sandbox Code Playgroud)
我想要的是使用顺序语法将它压缩成一个循环:
for i in range((30, 52), (1, 18):
#do some stuff
Run Code Online (Sandbox Code Playgroud)
我意识到语法不起作用,但这是我需要的基本概念.我见过人们使用zip来同时迭代两个范围,但这不是我需要的.
有任何想法吗?
utd*_*mir 15
来自https://docs.python.org/2/library/itertools.html#itertools.chain:
创建一个迭代器,它返回第一个iterable中的元素,直到它耗尽,然后进入下一个iterable,直到所有的iterables都用完为止.用于将连续序列作为单个序列处理.
例:
import itertools as it
for i in it.chain(range(30, 52), range(1, 18)):
print(i)
Run Code Online (Sandbox Code Playgroud)
小智 9
您可以将范围的两个迭代器转换为列表,然后将它们与加法结合起来:
for i in list(range(30, 52)) + list(range(1, 18)):
# something
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10671 次 |
| 最近记录: |