Skip to main content
 首页 » 编程设计

Python 对列表的列表进行排序

2025年05月04日9zfyouxi

我目前正在尝试对如下列表进行排序。我需要按照每个子列表中第二个元素的顺序对列表进行排序。

chars = [['Andrew', '1'], ['James', '12'], ['Sam', '123'], ['Zane', '2']] 

我目前正在使用这个命令:

chars = sorted(chars, key=itemgetter(1)) 

我的理想输出是:

chars = [['Andrew', '1'], ['Zane', '2'], ['James', '12'], ['Sam', '123']] 

请您参考如下方法:

您需要先将第二个元素转换为整数进行排序:

>>> sorted(chars, key=lambda x: int(x[1])) 
[['Andrew', '1'], ['Zane', '2'], ['James', '12'], ['Sam', '123']] 

如果你想使用 operator.itemgetter 来做到这一点:

>>> sorted(chars, key=lambda x: int(itemgetter(1)(x))) 
[['Andrew', '1'], ['Zane', '2'], ['James', '12'], ['Sam', '123']]