为什么{1,2,3}< {2,3,4,5}返回False?

时间:2016-05-04 13:22:42

标签: python python-3.x set

dbt_c_int_accr

a = {1, 2, 3} < {2, 3, 4, 5} 生成print(a)

你能解释一下为什么吗?

我认为False应该是a,因为左边的数字小于右边的数字。

1 个答案:

答案 0 :(得分:5)

您正在比较,如果左操作数是右操作数的正确子集,则<运算符会设置测试,因此如果第一组中的所有元素都存在于第二组中,第二组中的元素更大。

{1, 2, 3}不是{2, 3, 4, 5}集的子集(正确或其他),因为1不在更大的集合中。

请参阅set documentation

  

<强> set < other
  测试该集合是否是其他集合的正确子集,即set <= other and set != other

没有其他价值比较发生;类似字典的集合不是“可订购的”,因此不清楚一组中的哪些值(字典中的键或键值对)与另一组中的值进行比较。