sorted函数内部是怎么实现的
def cmp_ignore_case(s1, s2):
if s1.lower()<s2.lower():
print s1
print s2+'\nNo Change\n'
return -1
if s1.lower()>s2.lower():
print s1
print s2+'\nChange\n'
return 1
if s1.lower()==s2.lower():
print s1
print s2+'\nEqual\n'
return 0
print sorted(['bob','about', 'Zoo', 'Credit'], cmp_ignore_case)
运行结果是这样:
about bob No Change Zoo about Change Zoo bob Change Credit bob Change Credit Zoo No Change ['about', 'bob', 'Credit', 'Zoo']
我就想问为什么s1变成about了。
还有为什么只用了5步就排好了,不是冒泡法或选择法。难道是快排,或者动态语言独有的排序?请大神指点