我有一个字典列表:
list1 = [
{ 'T': 1234, 'V': 10, 'O': 1 },
{ 'T': 2345, 'V': 50, 'O': 5 },
{ 'T': 2345, 'V': 30, 'O': 3 },
{ 'T': 3456, 'V': 40, 'O': 91 },
]
我需要对这些进行唯一排序:
T 应该是独一无二的
哪个 dictV较大应该优先
哪个应该产生:
[
{'T': 1234, 'V': 10, 'O': 1},
{'T': 2345, 'V': 50, 'O': 5},
{'T': 3456, 'V': 40, 'O': 91}
]
我想出了这个:
interm = {o['T']: o for o in list1}
for o in list1:
if o['V'] > interm[o['T']]['V']:
interm[o['T']] = o
但是,我有效地迭代了列表两次,并多次设置字典值。这感觉它可以改进,但我不知道我该怎么做。
在给定的约束下,有没有更快的方法来实现这一点?
慕的地10843
当年话下
蝴蝶不菲
相关分类