62

次のようなタプルがあり、(1,2,3,4)1 と 3 を変数 a と b に割り当てたい場合、明らかに言うことができます

myTuple = (1,2,3,4)
a = myTuple[0]
b = myTuple[2]

または次のようなもの

(a,_,b,_) = myTuple

値をアンパックする方法はありますが、そのうちの 1 つまたは複数を無視できますか?

4

4 に答える 4

77

私は個人的に書くだろう:

a, _, b = myTuple

これはかなり一般的なイディオムなので、広く理解されています。構文は非常に明確です。

于 2012-03-02T11:39:12.600 に答える
19

私の意見では、あなたの解決策は問題ありません。_ の割り当てに本当に問題がある場合は、インデックスのリストを定義して次のようにすることができます。

a = (1, 2, 3, 4, 5)
idxs = [0, 3, 4]
a1, b1, c1 = (a[i] for i in idxs)
于 2012-03-02T11:44:11.730 に答える