澄清比较不同类型的对象

fix*_*xer 0 python

以下句子对我来说是一个混乱的原因(来自Guido在python.org上的教程):

"请注意,比较不同类型的对象是合法的.结果是确定性的但是随意的:类型按名称排序.因此,列表总是小于字符串,字符串总是小于元组,等等"一个元组等."

这意味着:

a=[90]
b=(1)
a<b
Run Code Online (Sandbox Code Playgroud)

结果应该是True.但事实并非如此!你可以帮助我吗?不是一个元组,等等."

另外,"结果是确定的但是随意的"是什么意思?

Ign*_*ams 6

(1)是一个int.你可能意味着(1,),这是一个tuple.

  • @fixxxer:这意味着在给定相同输入的情况下,每次在同一执行运行中都会得到相同的答案,但您不应该依赖此属性,因为它可能在将来发生变化. (3认同)