【发布时间】:2016-10-06 21:30:38
【问题描述】:
{
"states": [
{
"timestamp": {
"double": 968628281.0
},
"sensorSerialNumber": 13020235
},
{
"timestamp": {
"double": 964069109.0
},
"sensorSerialNumber": 13020203
},
{
"timestamp": {
"double": 9641066.0
},
"sensorSerialNumber": 30785
}
]
}
有没有办法按“sensorSerialNumber”和“timestamp”(9.68628281E8)的值内的这个数字对这个字典列表进行排序,
"timestamp":{"double":9.68628281E8}
使用内置函数(排序)
from operator import itemgetter
newlist = sorted(list_to_be_sorted, key=itemgetter('name'))
但是,我的问题与其他问题略有不同。如果字典中没有字典,我只需将第二个键的字符串添加到内置函数中,例如:
from operator import itemgetter
newlist = sorted(list_to_be_sorted, key=itemgetter('name', 'age'))
【问题讨论】:
-
sorted(clean_sensors_data["states"], key= lambda user: (user["sensorSerialNumber"], user["timestamp"]["double"])) 这个解决方案
标签: python list sorting dictionary