2013-07-02 2 views
2

멍청한 질문이지만, 무슨 상징인지 모르겠다. 그것이 무엇을 의미하는지 그리고 나는 그것에 관해서는 아무것도 찾을 수 없다. 누군가 그것을 설명 할 수 있습니까? 왜 다음과 같은 일이 발생합니까? 주문은 어떻게 바뀌 었습니까?기호 | 파이썬에서 의미가 있습니까?

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

'|'기호까지는 아래 답변을 참조하십시오. 주문이 반드시 세트로 보존되지는 않습니다. – sberry

+0

타입에 따라 다릅니다. (실제로 정수는 [bitwise-or] (http://en.wikipedia.org/wiki/Bitwise_operation#OR)입니다.) - Python은 매우 유연하며 ['__or__' 메소드/프로토콜] (http://docs.python.org/2/reference/datamodel.html#emulating-numeric-types). (다른 여러 언어도 다양한 연산자 오버로딩을 지원하므로 문제의 정확한 유형을주의해서 살펴보십시오.) – user2246674

답변

1

이 연산자를 bitwise OR 연산자라고합니다. 하여 예를 들어

 
    0101 (decimal 5) 
OR 0011 (decimal 3) 
= 0111 (decimal 7) 

어느 비트 1 경우 각 비트에 대응하는 쌍에 대해, 그 결과 비트 1 것을

고지 (또한 위키의 하나가 발생 함). 두 비트가 모두 0이면 결과 비트는 0입니다.

또한 |은 파이썬에만 국한된 것이 아니라 매우 보편적이며 대부분의 언어에 존재합니다.

주문에 관한 질문 : set는 파이썬에서 순서를 유지하지 않으며 정의에 따라 "순서없는 고유 요소 모음"입니다.

+1

감사합니다! 나는 이것에 관해 더 많이 읽을 것이다 : D – user2489526

관련 문제