2017-08-24 4 views
0

を手渡す、ブラケット対リストで開梱私がやろうとしているものです:ここで予期しない出力にはPython 3.5.2

l1 = (3, 4, 3) 
l2 = (1, 2, 3) 
print(*{x+y, for x,y in zip(l1,l2)}) 

出力:私は期待

4 6 

出力は4〜6でした6

私は誤解されるかもしれないが、私はそれがカッコで開梱と関係していると思うので、以下のコード:

print(*list(x+y for x,y in zip(l1,l2))) 

出力:

4 6 6 

私が欲しかったものです。誰かが解体するときに括弧とリストの違いを説明できるかどうか疑問に思っていましたか?

答えて

0

あなたが最初の状況で持っているものは、{}を使っているものです。セットは次のクラスですunordered collections of unique elements.セットには固有の要素しか含まれていないため、別の6が印刷されませんでした。

第2のケースでは、固有でない要素または固有の要素を含むジェネレータを作成するため、追加したすべての要素が提供されます。

疑問がある場合は、機能type()、つまりtype(< thing you don't understand goes here >)を使用して、処理しているものを見つけてください。

関連する問題