zup*_*kos 3 python sorting int tuples
我有以下元组:
['Southampton', '9', '14', '13']
['Nottingham Forest', '8', '10', '17']
['Coventry City', '7', '4', '14']
['Blackburn Rovers', '4', '6', '14']
['Newcastle United', '24', '20', '10']
['FC Wimbledon', '21', '20', '11']
['Arsenal', '21', '19', '8']
Run Code Online (Sandbox Code Playgroud)
我想按第2和第3列排序.所以我使用以下代码:
sorted_rank = sorted(temp_rank, key=itemgetter(1,2), reverse=True)
Run Code Online (Sandbox Code Playgroud)
但正如您所看到的那样,第2列和第3列不是int,因此排序过程完成错误.我如何"告诉"python这些列是int而不是字符串?
我尝试了这个,但没有:
sorted_rank = sorted(temp_rank, key=itemgetter(1,int(2)), reverse=True)
Run Code Online (Sandbox Code Playgroud)
您必须指定自定义函数或lambda.
以下作品:
sorted_rank = sorted(temp_rank, key=lambda i: (int(i[1]), int(i[2])), reverse=True)
Run Code Online (Sandbox Code Playgroud)
哪里sorted_rank变成:
[['Newcastle United', '24', '20', '10'],
['FC Wimbledon', '21', '20', '11'],
['Arsenal', '21', '19', '8'],
['Southampton', '9', '14', '13'],
['Nottingham Forest', '8', '10', '17'],
['Coventry City', '7', '4', '14'],
['Blackburn Rovers', '4', '6', '14']]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2515 次 |
| 最近记录: |