首页 新闻 会员 周边

python数据处理,循环差分

0
悬赏园豆:10 [已解决问题] 解决于 2016-03-02 12:40

原数据为

要求用python求得如下结果

maybe13的主页 maybe13 | 初学一级 | 园豆:177
提问于:2016-02-24 22:27
< >
分享
最佳答案
-1
#coding=utf-8

dates = [
    {'id': 1, 'date': '2010/9/24'},
    {'id': 1, 'date': '2010/9/20'},
    {'id': 2, 'date': '2011/9/22'},
    {'id': 2, 'date': '2011/9/20'},
    {'id': 1, 'date': '2010/9/22'},
    {'id': 2, 'date': '2011/9/24'}
]

dates.sort(key=lambda x: (x['id'], x['date']))

date_length = len(dates)
for i in range(date_length):
    j = i + 1
    dates[i]['date1'] = dates[j]['date'] if j < date_length and dates[i]['id'] == dates[j]['id'] else ''

print dates

 

收获园豆:10
Rich.T | 老鸟四级 |园豆:3440 | 2016-02-29 10:33
其他回答(1)
0

字典加单向链表,对数据遍历一次,id做key。

插入字典,key不存在则创建链表,key存在则插入链表,最后对字典每个键值对进行遍历,每个值的链表进行遍历即可。

Daniel Cai | 园豆:10424 (专家六级) | 2016-02-25 09:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册