我有以下列表结构:

[
    {'key1': 'value1',
     'key2': [['mike', 'simmons', '54:17:47']],
     'key3': 19390},
    {'key1': 'value1',
     'key2': [['snart', 'simmons', '60:12:47']],
     'key3': 19390}
]

我想按key2键的第二个索引对这个列表进行排序(我的意思是,按60:12:47的数字)
。。
谢谢!

最佳答案

这里有一种方法,假设您希望将值排序为字符串。

lst = [{'key1': 'value1', 'key2': [['snart', 'simmons', '60:12:47']], 'key3': 19390},
       {'key1': 'value1', 'key2': [['mike', 'simmons', '54:17:47']], 'key3': 19390}]

res = sorted(lst, key=lambda x: x['key2'][0][2])

# [{'key1': 'value1', 'key2': [['mike', 'simmons', '54:17:47']], 'key3': 19390},
#  {'key1': 'value1', 'key2': [['snart', 'simmons', '60:12:47']], 'key3': 19390}]

关于python - Python排序字​​典列表与内部列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49008020/

10-12 22:29