我在Python 2.x中有一个部分排序的元组.
为什么Python反转它而不是排序呢?
>>> data = (u'a', (1,), 'b ', u'b', (2,), 'c ', u'c', (3,), 'd ', u'd', (4,), 'e')
>>> sorted(data) == list(reversed(data))
True
Run Code Online (Sandbox Code Playgroud)
我期待着Python 3.
Dee*_*tan 11
它失败了,因为排序算法依赖于元素的总排序,这意味着传递<.
unicode字符串,元组和字符串的顺序不可传递:
>>> a = 'x'
>>> b = (1,)
>>> c = u'x'
>>> a < b
True
>>> b < c
True
>>> a < c
False
Run Code Online (Sandbox Code Playgroud)
即,您的列表中没有有效的排序.至少不使用默认比较器.
| 归档时间: |
|
| 查看次数: |
139 次 |
| 最近记录: |