首先按字母顺序对列表进行排序,然后按数字对列表进行排序?

如何在Python中先按字母顺序然后按数字顺序对字符串列表进行排序?

例如:

Given list: li = ['4', '1', '3', '9', 'Z', 'P', 'V', 'A']

我需要排序后的以下输出:

sorted_list = ['A', 'P', 'V', 'Z', '1', '3', '4', '9']
评论
’听天由命
’听天由命

You can try this. The desired output can achieved by using str.isdigit

sorted(l,key=lambda x:(x.isdigit(),x))
# ['A', 'P', 'V', 'Z', '1', '3', '4', '9']
点赞
评论