先按字母顺序排列列表,然后按数字顺序排列?

Lax*_*Sam 1 python sorting string list python-3.x

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

例如:

Given list: li = ['4', '1', '3', '9', 'Z', 'P', 'V', 'A']
Run Code Online (Sandbox Code Playgroud)

排序后我想要以下输出:

sorted_list = ['A', 'P', 'V', 'Z', '1', '3', '4', '9']
Run Code Online (Sandbox Code Playgroud)

Mar*_*čas 6

sorted(sorted_list, key=lambda x: (x.isnumeric(),int(x) if x.isnumeric() else x))
Run Code Online (Sandbox Code Playgroud)

这也按整数值排序