0

以下の意味を説明できる人はいますか?

for value1,value2 in List1:
           do_something()

という事は承知しています

for x1 in List2:
        do_something()

here for iterates over List2and x1is reference to each item inList2ですが、最初の項目が何をするのかわかりません。

4

2 に答える 2

4

と同じように

for x in seq:

繰り返し、すべての要素をにseq代入します。x

for a, b in seq:

を繰り返しseq、すべての要素を に割り当てますa, b。と同等です

for x in seq:
    a, b = x

何をしa, b = xますか?さて、シーケンスの解凍です。Python はx2 要素シーケンスとして扱い、 と の要素を割り当てよxaとしbます。

于 2013-08-29T07:48:16.043 に答える
2

最初のものは、シーケンスのアンパックを行います。通常の割り当てでも可能です。

mylist = [1, 2, 3]
a, b, c = mylist

リストの要素を変数abおよびに代入しますc

同じことがループでも機能します。

for x in iterable:
    a, b, c = x

に短縮できます

for a, b, c in iterable:
    ...

iterable が次のような 3 つの項目の要素 (ほとんどはタプル) のみを含む iterable である場合

[(1, 2, 3), (5, 4, 3), etc.]
于 2013-08-29T07:51:22.757 に答える