我不明白如何在for循环中使用多个范围。
for n in range(1,21) + range(30,100,10):
# do something
我用谷歌搜索但仍未发现。任何帮助,将不胜感激。
答案 0 :(得分:5)
在 Python 2.7 中,您可以添加range
,因为调用range(something)
is a list的结果,并列出can be added来生成新的列表:
>>> range(5)
[0, 1, 2, 3, 4]
>>> range(8,12)
[8, 9, 10, 11]
>>> range(5) + range(8,12)
[0, 1, 2, 3, 4, 8, 9, 10, 11]
但是在 Python 3.5 中你不能这样做,因为range
类型表示数字的不可变序列。查看the docs了解详情。
答案 1 :(得分:2)
每个范围表达式返回一个列表:range(1,21)
返回[1,2,...,20]
,range(30,100,10)
返回[30,40,...,90]
。 +
运算符会连接两个列表,因此range(1,21) + range(30,100,10)
的计算结果为[1,2,...,20,30,40,...,90]
。