Python 3.10では、組み込み関数zip()
に新たなキーワード専用引数strict
が追加されました。この新機能は、zip()
関数の引数に指定したイテラブルオブジェクトの要素数が異なる場合にValueError
例外を発生させることができます。
list1 = [1, 2, 3, 4]
list2 = ['a', 'b']
for tp in zip(list1, list2, strict=True):
print(tp)
上記のコードでは、list1
とlist2
の要素数が異なるため、ValueError
が発生します。
この新機能は、zip()
関数を利用する際に、引数に指定した全てのイテラブルオブジェクトの要素数が同じであることを前提とした処理を行う場合に有用です。要素数が異なる場合はバグとして検出する必要がありますが、すべてのイテラブルの要素数を効率的にチェックするのは意外と面倒で、実際に要素数のチェックが行われることはあまりありませんでした。
この新機能により、Pythonのzip()
関数はさらに強力で使いやすいものになりました。Python 3.10を使っている方は、ぜひこの新機能を活用してみてください。