如何从Python字典中获取特定键的最大值

0 投票
1 回答
519 浏览
提问于 2025-04-17 20:11

我有一个下面这样的Python字典:

a={
  u'data': [
    [u'2013-03-19', u'1363762799', u'4004658'],
    [u'2013-03-20', u'1363849199', u'4756668']
  ],
  u'columns': [
    u'dt_pst',
    u'timestamp',
    u'count'
  ]
}

我该怎么才能找到键为的最大值呢?我想要这个数字:1363849199。

谢谢!

1 个回答

1

首先把它转换成可以使用的格式:

>>> d = {row[0]: row[1:] for row in zip(a['columns'], *a['data'])}
>>> d
    {u'count': (u'4004658', u'4756668'),
 u'dt_pst': (u'2013-03-19', u'2013-03-20'),
 u'timestamp': (u'1363762799', u'1363849199')}

如果你用的是2.6版本,字典推导式是不能用的。你需要使用 dict() 这个构造函数:

d = dict((row[0], row[1:]) for row in zip(a['columns'], *a['data']))

现在,你可以直接使用 max 了:

>>> max(d['timestamp'], key=int)
    u'1363849199'
>>> max(map(int, d['timestamp']))
    1363849199

撰写回答