【发布时间】:2016-05-20 18:55:40
【问题描述】:
我有一个简单的list dict 对象,我想根据number 键的值对其进行排序。我可以在这里找到一个正常工作的解决方案,直到我的值在0-99 之间,但由于有 3 个字符长的字符串,它不再工作了。
它看起来像我的基本列表:
base_list = [{'number':"123", 'key2':"sample value"},{'number':"3", 'key2':"sample value"},{'number':"55", 'key2':"sample value"},{'number':"43", 'key2':"sample value"},]
这就是我想要达到的目标:
base_list = [{'number':"3", 'key2':"sample value"},{'number':"43", 'key2':"sample value"},{'number':"55", 'key2':"sample value"},{'number':"123", 'key2':"sample value"},]
这就是我得到的:
base_list = [{'number':"123", 'key2':"sample value"},{'number':"3", 'key2':"sample value"},{'number':"43", 'key2':"sample value"},{'number':"55", 'key2':"sample value"},]
#123,3,43,55 instead of 3,43,55,123
我认为问题在于我用于对列表进行排序的值是字符串,但不幸的是我不能使用整数。
是否可以在没有 int 类型值的情况下解决问题?或者这不是问题?
这就是我现在的做法:
sortedList = sorted(base_list, key=itemgetter('number'))
【问题讨论】:
-
您的键功能按字面意思对列表进行排序。将数字转换为
int以获得正确的结果。
标签: python list sorting dictionary