我有以下列表,我需要从最大到最小的名称和数字对它们进行排序。
['joe: 5', 'ed: 9', 'joe: 7', 'ed: 8']
我有以下问题:
- 将数字从字符串转换为整数以对其进行排序。
- 使用正确的字符串对它们进行排序。
所以我的最终结果应该是这样的:
['ed: 9', 'ed: 8', 'joe: 7', 'joe: 5']
我有以下列表,我需要从最大到最小的名称和数字对它们进行排序。
['joe: 5', 'ed: 9', 'joe: 7', 'ed: 8']
我有以下问题:
所以我的最终结果应该是这样的:
['ed: 9', 'ed: 8', 'joe: 7', 'joe: 5']
>>> lis=['joe: 5', 'ed: 9', 'joe: 7', 'ed: 8']
>>> sorted(lis,key=lambda x:int(x.split()[-1]),reverse=True)
>>> ['ed: 9', 'ed: 8', 'joe: 7', 'joe: 5']
str.split
您可以使用(如下所示)获取每个列表项中的整数,然后使用该整数对列表进行排序:
>>> int(lis[0].split(":")[1])
>>> 5
#or
>>> int(lis[0].split()[1])
>>> 5