0

次のデータ構造があるとします。

input = [(1,2,3,4,5), (1,2,3,4), (1,2,3)]

forループでは、タプルの大きさを気にせずに、各タプル要素の最初の 3 つの要素だけを一度に反復処理したいと考えています。

を使用してこれを達成できることはわかってい_ますが、それを使用して、削除する値の数を指定する必要があります。

問題のタプルの大きさを事前に知らずにこれを達成する方法はありますか?

私はできることを知っています:

for i, j, k, _, _ in input:
    ....

しかし、1つだけで逃げる方法はあり_ますか? 各サブ要素のサイズが5でない場合、上記は失敗します(need more than 4 values to unpack小さすぎるか大きすぎる場合は取得しtoo many values to unpackます)。

私は好奇心からこれを尋ねています。次のようにして、要素を個別に解凍できることを知っています。

for elem in input:     
    i, j, k = elem[:3]

Python 2.7.6 を使用しています。

4

1 に答える 1

4

for i, j, k, *_ in input:Python 3.x で行うことができます。

于 2015-11-10T12:18:08.883 に答える