\

Pythonのrange関数は、一定の範囲の整数を生成するためによく使われます。しかし、複数の範囲を一度に扱いたい場合はどうすればよいでしょうか?例えば、2~4と6~8のような範囲を指定したい場合です。

itertools.chainを使う方法

Pythonの標準ライブラリであるitertoolschain関数を使うと、複数の範囲を一度に扱うことができます。

import itertools
chain = itertools.chain(range(2, 5), range(6, 9))
for i in chain:
    print(i)

このコードは、2から4までと6から8までの2つの範囲を生成し、それらを連結します。その結果、2, 3, 4, 6, 7, 8という6つの数値が順に出力されます。

リストを展開する方法

Pythonのリスト展開(unpacking)を使うと、複数の範囲を一度に扱うこともできます。

for r in [*range(2, 5), *range(6, 9)]:
    print(r)

このコードは、range(2, 5)range(6, 9)の2つの範囲を生成し、それらを一つのリストに展開します。その結果、2, 3, 4, 6, 7, 8という6つの数値が順に出力されます。

これらの方法を使えば、Pythonのrange関数を使って複数の範囲を簡単に扱うことができます。あなたのコードに最適な方法を選んでみてください。.

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です