Python 3.x 如何根据最大的数字对包含数字和字母的字符串列表进行排序
我希望对字符串列表进行数字排序,该列表同时包含字符串和数字作为字符串 ['har 1','zee 3'] 预期产出: zee 3Python 3.x 如何根据最大的数字对包含数字和字母的字符串列表进行排序,python-3.x,Python 3.x,我希望对字符串列表进行数字排序,该列表同时包含字符串和数字作为字符串 ['har 1','zee 3'] 预期产出: zee 3 har 1您可以为此使用键值(字典)。然后只需使用中给出的方法根据键/值对列表进行排序。您可以使用排序后的键和参数对列表进行排序 l = ['har 1', 'zee 3'] print(sorted(l, key=lambda x: (-int(x.split()[1]), x.split()[0]))) 输出 ['zee 3', 'har 1'] 您甚至可以使
har 1您可以为此使用键值(字典)。然后只需使用中给出的方法根据键/值对列表进行排序。您可以使用排序后的键和参数对列表进行排序
l = ['har 1', 'zee 3']
print(sorted(l, key=lambda x: (-int(x.split()[1]), x.split()[0])))
输出
['zee 3', 'har 1']
您甚至可以使用解包操作员根据需要打印它
print(*sorted(l, key=lambda x: (-int(x.split()[1]), x.split()[0])), sep='\n')
这里我从每个值创建一个元组(-int(第二个元素),第一个元素)
因此,它将按数字递减排序,如果相等,它将按字母顺序排序您可以使用排序函数的
键
参数指定自定义排序顺序-
l = ['X 3', 'Z 1', 'A 2']
l_sorted = sorted(l, key=lambda x: x.split()[-1])
print(l_sorted)
/*Returns ['Z 1', 'A 2', 'X 3']*/