【发布时间】:2015-09-22 12:07:38
【问题描述】:
为什么我会从下面的表达式中得到一个包含三个元素的元组?
>>> 1,2 == 1,2
(1, False, 2)
【问题讨论】:
-
你是什么意思“如何”?!您正在评估
(1, (2 == 1), 2)。你期待什么?你的意思是(1, 2) == (1, 2)?
标签: python python-2.7 comparison tuples
为什么我会从下面的表达式中得到一个包含三个元素的元组?
>>> 1,2 == 1,2
(1, False, 2)
【问题讨论】:
(1, (2 == 1), 2)。你期待什么?你的意思是(1, 2) == (1, 2)?
标签: python python-2.7 comparison tuples
因为== 运算符比, 运算符具有higher operator precedence,所以您的表达式被解析为:
1, (2 == 1), 2
使用文字 1、2 == 1 的结果 -> False 和文字 2 生成一个元组。
您可以在 1, 2 元组周围加上括号以强制使用不同的解析顺序:
>>> (1, 2) == (1, 2)
True
【讨论】:
>>> 5,6,8 == 1,2,3, 5==5 >>> (5, 6, False, 2, 3, True)
表达式1,2 == 1,2 被解释为三个元素的元组,1、2 == 1(即False)和2。
【讨论】: