为什么min({1},{0})返回{1}

Ada*_*žek 4 python min

min()函数应返回给定的最小数字.那么为什么

min({0},{1})
Run Code Online (Sandbox Code Playgroud)

返回{0},而

min({1},{0})
Run Code Online (Sandbox Code Playgroud)

返回{1}?

Ber*_*ard 7

在python集中,基于一个是否是另一个的子集进行比较.

None是另一个的子集,因此在所有情况下都<给出False,因此返回第一个.

所以{1}<{0}给出False就像{2}<{1}给出False{2}<{3,4,5}给出假.但是{1,2}<{1,3,2}给出了True.这意味着没有在集合上定义的总订单.

  • 这是不正确的`min({1,3,4,5},{0,2})`返回`{1,3,4,5}`,它的尺寸较小 (3认同)

MSe*_*ert 5

集合比较运算符检查"子集"而不是数值比较:

set < other

测试集合是否是其他集合的正确子集,即set <= other和set!= other.

而且你的两组都是不相交的{0} < {1} == False,{1} < {0} == False所以它总会返回你投入的"第一套" min.