如何组合两个for循环

时间:2016-06-07 15:25:51

标签: python for-loop

让我们说我试图打印0到25和75到100。 现在我有:

for x in range(0, 26):
    print(x)
for x in range(75, 101):
    print(x)

有没有办法将这些组合成一个for循环,导致:

print(x)

有些事情:

for x in range(0, 26) and range(75, 101):
    print(x)

4 个答案:

答案 0 :(得分:6)

您需要itertools.chain()

  

创建一个迭代器,它返回第一个iterable中的元素,直到它耗尽,然后进入下一个iterable,直到所有的iterables都用完为止。

from itertools import chain

for x in chain(range(0, 26), range(75, 101)):
    print(x)

适用于Python 2和3。

答案 1 :(得分:1)

使用列表理解:

[i for j in (range(0, 26), range(75, 101)) for i in j]

答案 2 :(得分:0)

for x in list(range(0, 26)) + list(range(75, 101)):
    print(x)

您可以通过添加它们来连接两个列表。

答案 3 :(得分:0)

如果你不想导入任何东西,可以使用列表理解和单行来实现。您基本上将所有数字添加到列表中,然后将列表打印为长字符串,并在每个数字后面添加换行符。

print("\n".join([str(x) for x in range(0,101) if x < 26 or x > 74]))