Python排序一个值为多维lis的字典

2024-09-29 01:27:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下字典:

DICT = {'ABC': [[u'2012-07-19', 1.22, 1, 1.22, 1, 0], [u'2012-04-26', 1.33, 210, 1.33, 210, 0], [u'2011-11-14', 1.25, 171, 1.32, 241, 70]], 
'XYZ': [[u'2012-02-17', 1.82, 59, 1.25, 182, 123], [u'2011-04-06', 1.50, 30, 1.18, 54, 24], [u'2011-01-06', 1.21, 38, 1.17, 41, 3], [u'2010-06-21', 1.28, 26, 1.28, 26, 0]]}

值是二维列表。在

如何根据第三列值对键进行排序。在

让我解释一下: 关键字“ABC”的第三列最小值为1.22(在1.22、1.33和1.32之间)。 键“XYZ”的第三列最小值为1.17(在1.25、1.18、1.17和1.28之间)。 由于1.17>;1.22,“XYZ”将首先出现,然后是“ABC”。在


Tags: gt列表字典排序关键字dictabcxyz
1条回答
网友
1楼 · 发布于 2024-09-29 01:27:13

您可以使用python内置sorted和一个key函数来选择要用作排序键的iterable的特定特征:

>>> [l[1] for l in DICT['XYZ']]
[1.82, 1.5, 1.21, 1.28]
>>> min(l[1] for l in DICT['ABC'])
1.22
>>> sorted(DICT, key=lambda k: min(l[1] for l in DICT[k]))
['XYZ', 'ABC']

相关问题 更多 >