python 字典比较
问题描述
一个列表当中有一个日期的值,我想求这个日期里面当天最大时间的那一条,大神们如何写呢?原始列表`
[{ 'count': 0, 'create_time': '2017-03-22 22:00:00', 'level': '1' }, { 'count': 5, 'create_time': '2017-03-22 22:00:00', 'level': '0' }, { 'count': 5, 'create_time': '2017-03-22 22:00:00', 'level': '2' }, { 'count': 5, 'create_time': '2017-03-22 23:00:00', 'level': '0' }, { 'count': 0, 'create_time': '2017-03-22 23:00:00', 'level': '1' }, { 'count': 5, 'create_time': '2017-03-22 23:00:00', 'level': '2' }]`
想要输出的列表
[{'count': 5,'create_time': '2017-03-22 23:00:00','level': '0' }, {'count': 0,'create_time': '2017-03-22 23:00:00','level': '1' }, {'count': 5,'create_time': '2017-03-22 23:00:00','level': '2' }]
问题解答
回答1:在上次问的问题里改sum成max:
from collections import defaultdictgrouped = defaultdict(list)for d in s: grouped[(d[’create_time’].split()[0], d[’level’])].append((d[’create_time’], d[’count’]))summed = {k : max(grouped[k]) for k in grouped}s = [{’count’: summed[k][1], ’create_time’: summed[k][0], ’level’: k[1]} for k in summed]回答2:
像这类问题都可以用groupby来解决
# coding: utf-8from itertools import groupbydata = [...]fun_group = lambda x: x[’level’]fun_max = lambda x: x[’create_time’]lst = [max(list(g), key=fun_max) for k, g in groupby(sorted(data, key=fun_group), fun_group)]print lst回答3:
思路就是先排序,再过滤
ls = [{ 'count': 0, 'create_time': '2017-03-22 22:00:00', 'level': '1' }, { 'count': 5, 'create_time': '2017-03-22 22:00:00', 'level': '0' }, { 'count': 5, 'create_time': '2017-03-22 22:00:00', 'level': '2' }, { 'count': 5, 'create_time': '2017-03-22 23:00:00', 'level': '0' }, { 'count': 0, 'create_time': '2017-03-22 23:00:00', 'level': '1' }, { 'count': 5, 'create_time': '2017-03-22 23:00:00', 'level': '2' }]import timels.sort(key = lambda x: time.strptime(x['create_time'], '%Y-%m-%d %H:%M:%S'))ret = filter(lambda x: x[’create_time’] == ls[-1][’create_time’], ls)print ret'''[{’count’: 5, ’create_time’: ’2017-03-22 23:00:00’, ’level’: ’0’}, {’count’: 0, ’create_time’: ’2017-03-22 23:00:00’, ’level’: ’1’}, {’count’: 5, ’create_time’: ’2017-03-22 23:00:00’, ’level’: ’2’}]'''
相关文章:
1. docker绑定了nginx端口 外部访问不到2. Docker for Mac 创建的dnsmasq容器连不上/不工作的问题3. docker-compose 为何找不到配置文件?4. mac连接阿里云docker集群,已经卡了2天了,求问?5. boot2docker无法启动6. dockerfile - [docker build image失败- npm install]7. docker网络端口映射,没有方便点的操作方法么?8. docker-compose中volumes的问题9. angular.js使用$resource服务把数据存入mongodb的问题。10. dockerfile - 我用docker build的时候出现下边问题 麻烦帮我看一下

网公网安备