Noob问题,但我不知道符号是什么被称为或它意味着什么,我在网上找不到任何关于它的东西。有人可以解释一下吗?为什么会发生以下情况?订单怎么切换了?
>>> L = [ 5 | 3, 4]
>>> set(L)
{4, 7}
>>> L
[7, 4]
答案 0 :(得分:1)
它被称为bitwise OR运算符。以你的例子:
0101 (decimal 5) OR 0011 (decimal 3) = 0111 (decimal 7)
(也恰好是维基百科上的那个)
请注意,对于每个相应的位对,如果任一位为1
,则结果位为1
。如果两个位均为0
,则结果位为0
。
另请注意,|
不是特定于Python的,它非常通用,并且存在于大多数语言中。
至于你关于订单的问题:Python中的set
不保留顺序,根据定义,它们是“无序的独特元素集合”。