在您的示例中,
1 < "a"因为for的“ i”
int按字母顺序在for的“ s”之前
string。
从文档:
不同类型的对象(不同的数字类型和不同的字符串类型除外)绝不会相等。这样的对象被一致但任意地排序(以便对异构数组进行排序会产生一致的结果)。
我相信这是python 3改变的事情之一(您会在
TypeError这里得到)。
至于在CPython中是如何完成的,除了数字以外,其他类型的对象均按其类型名称排序;不支持正确比较的相同类型的对象按其地址排序。 请注意,这是 实现
的一部分,而不是语言的一部分。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)