列表中的Python高级排序
在下面的python列表中列表中的Python高级排序,python,Python,在下面的python列表中 a = ['BB', 'zz', 'CC', 'aa'] 如果我们将sorted(a,key=str.isupper)应用到列表中,它的输出如下 ['zz', 'aa', 'BB', 'CC'] 有人能解释一下原因吗?在这种情况下,排序函数按升序对布尔列表进行排序 str.isupper应用于每个元素 a = ['BB', 'zz', 'CC', 'aa'] a = [True, False, True, False] False(内部0)小于Tru
a = ['BB', 'zz', 'CC', 'aa']
如果我们将sorted(a,key=str.isupper)
应用到列表中,它的输出如下
['zz', 'aa', 'BB', 'CC']
有人能解释一下原因吗?在这种情况下,排序函数按升序对布尔列表进行排序
str.isupper
应用于每个元素
a = ['BB', 'zz', 'CC', 'aa']
a = [True, False, True, False]
False
(内部0)小于True
(内部1)
对于相同的False
s和True
s,不需要更改顺序
所以
你能澄清是什么让你困惑吗?这不是你想要的订单吗?你期望得到什么样的结果,基于什么?我只是想知道它是如何产生的,也就是它背后的逻辑。是你写的,你可以访问所有的文档,你觉得怎么样?我们的教授在课堂上给我们展示了这个排序。但我无法理解它是如何提供这些输出的,所以请询问他们。如果没有具体问题,答案可能是,例如:Timsort;这是一种稳定的类型;这是一个布尔值,不是字符串;或
False
。再说一次,你期望它会产生什么样的输出,为什么?是的,它解决了我的问题…@SHIVASRAINA你能接受这个吗?接受了。。。对不起,这是我的错delay@SHIVASRAINA非常感谢。
a = ['zz', 'aa', 'BB', 'CC']