2

初心者の質問ですが、記号 | がわかりません。と呼ばれているか、それが何を意味するのか、オンラインでそれについて何も見つけることができません. 誰かがそれを説明できますか?なぜ次のことが起こるのですか?順番が入れ替わったのはどうしてですか?

>>> L = [ 5 | 3, 4]
>>> set(L)
{4, 7}
>>> L
[7, 4] 
4

1 に答える 1

1

これは、ビットごとのOR演算子と呼ばれます。あなたの例:

   0101 (10 進数の 5)
または 0011 (10 進数 3)
 = 0111 (10 進数 7)

(たまたまウィキペディアにもありました)

対応するビットの各ペアについて、いずれかのビットが1である場合、結果のビットは であることに注意してください1。両方のビットが0の場合、結果のビットは0です。

|また、Python 固有のものではなく、非常に普遍的であり、ほとんどの言語に存在することに注意してください。

順序に関する質問についてsetは、Python の s は順序を保持しません。定義上、それらは「一意の要素の順序付けられていないコレクション」です。

于 2013-07-02T00:45:56.297 に答える