Python如何不遍历元组获取除已知元素外的另一个值?
如何在Python中获取二元组中非1的元素(无需遍历)
当然有,以下几种方法都不需要在Python层面遍历元组,直接通过内置操作或元素访问实现:
方法1:利用求和运算
因为元组只有两个元素,其中一个是1,所以另一个元素等于元组元素的总和减去1:
a = (1, 7) n = sum(a) - 1 print(n) # 输出7 a = (9, 1) n = sum(a) - 1 print(n) # 输出9
方法2:直接解包+条件判断
把元组的两个元素解包到变量中,判断哪个是1,取另一个即可:
a = (1, 4) x, y = a n = x if y == 1 else y print(n) # 输出4 a = (6, 1) x, y = a n = x if y == 1 else y print(n) # 输出6
方法3:利用集合操作
将元组转为集合,移除元素1后弹出剩余的元素:
a = (1, 2) n = (set(a) - {1}).pop() print(n) # 输出2 a = (5, 1) n = (set(a) - {1}).pop() print(n) # 输出5
以上方法都不需要手动遍历元组,底层的内置操作(如sum、集合运算)虽然可能在C层面有循环,但不属于Python代码中的遍历逻辑。
内容的提问来源于stack exchange,提问作者Andrey Ivanov
相关产品推荐
相关产品推荐

