我对python很陌生,我正在寻找一种将单词放在数字之前的列表排序方法。
我知道您可以使用sort执行以下操作:
a = ['c', 'b', 'd', 'a']
a.sort()
print(a)
['a', 'b', 'c', 'd']
b = [4, 2, 1, 3]
b.sort()
print(b)
[1, 2, 3, 4]
c = ['c', 'b', 'd', 'a', 4, 2, 1, 3]
c.sort()
print(c)
[1, 2, 3, 4, 'a', 'b', 'c', 'd']
不过,我想对c
排序以生成:
['a', 'b', 'c', 'd', 1, 2, 3, 4]
提前谢谢
应该这么做。
默认的Python排序是asciibetical
给出:
默认排序为:
在Python3上也不起作用:
解决方案是创建一个元组,其中索引整数作为第一个元素(基于项类型),项本身作为下一个元素。Python 2和3将使用第二个元素异类类型对元组进行排序。
给出:
注意字符、整数、字符串、浮点数的混合
或者,如果你想要羔羊:
根据“狼”的评论,你还可以:
但我必须同意。。。
您可以提供一个自定义的
key
参数,它给字符串的值比给int的值低:相关问题 更多 >
编程相关推荐