我对以下内容感到困惑:
>>> 1,2 == 1,2
(1, False, 2)
==
运算符应该只返回一个bool(或者至少我是这么认为的)。
我原本希望(True, True)
假设该行已经像a,b = 1,2
一样处理,但执行比较而不是赋值。或者,有一个错误。但绝对不是(1, False, 2)
。
有谁能解释这里发生了什么?
答案 0 :(得分:2)
此:
1,2 == 1,2
被评估为包含1
,2 == 1
和2
的三元素元组。你需要在这里使用几个括号:
(1, 2) == (1, 2)
中说明
除非列表或集合的一部分显示,否则表达式列表 包含至少一个逗号会产生一个元组。元组的长度 是列表中的表达式数。表达式是 从左到右进行评估。
答案 1 :(得分:-1)
@alec_djinn
比较运算符工作如果两个操作数的值相等,则条件成立。
您正在尝试比较错误的数据类型1,2无效。
尝试1,2' ==' 1,2'会给你正确的结果。
1,2不是单一论点。