Python set 运算符优先级:差集最高,并集最低,使用括号确保计算顺序。
运算符优先级(从高到低)
| 运算符 | 名称 | 优先级 |
|---|---|---|
() | 括号 | 最高 |
- | 差集 | 1 |
& | 交集 | 2 |
^ | 对称差集 | 3 |
| | 并集 | 4(最低) |
示例
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}规则总结
-(差集)最高&(交集)次高^(对称差)次之|(并集)最低()可改变默认优先级
实践建议:复杂运算使用括号明确顺序,避免歧义。