张芷铭的个人博客

Python set 运算符优先级:差集最高,并集最低,使用括号确保计算顺序。

运算符优先级(从高到低)

运算符名称优先级
()括号最高
-差集1
&交集2
^对称差集3
|并集4(最低)

示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
A = {1, 2, 3, 4}
B = {3, 4, 5, 6}
C = {5, 6, 7, 8}

# 差集优先级高于并集
A | B - C  # 等价于 A | (B - C) → {1, 2, 3, 4, 5}

# 交集优先级高于并集
A | B & C  # 等价于 A | (B & C) → {1, 2, 3, 4, 5, 6}

# 交集优先级高于对称差集
A ^ B & C  # 等价于 A ^ (B & C) → {1, 2, 3, 4, 7, 8}

# 括号改变优先级
(A | B) - C  # {1, 2, 3, 4}

规则总结

  1. -(差集)最高
  2. &(交集)次高
  3. ^(对称差)次之
  4. |(并集)最低
  5. () 可改变默认优先级

实践建议:复杂运算使用括号明确顺序,避免歧义。

Comments