python合并list中各个字典中相同条件的累计数

#coding: utf-8

import json

def test():

aa = [{u‘iTestID‘: 92478, u‘all_case_count‘: 45103, u‘refresh_time‘: u‘2016-11-29 17:03:01‘, u‘version_num‘: u‘BaseOn_W16.38_PassList_0916‘, u‘test_month‘: u‘09‘, u‘bug_count‘: 347, u‘fail_count‘: 420,u‘test_week‘: u‘37‘, u‘summary_type‘: u‘TRUNK‘, u‘confirm_rate‘: u‘100.0000%‘, u‘pass_count‘: 44683, u‘test_year‘: u‘2016‘, u‘id‘: 716}, {u‘iTestID‘: 92477, u‘all_case_count‘: 953, u‘refresh_time‘: u‘2016-11-29 17:03:01‘, u‘version_num‘: u‘FM_BASE_W16.38‘, u‘test_month‘: u‘09‘, u‘bug_count‘: 188, u‘fail_count‘: 301, u‘test_week‘: u‘37‘, u‘summary_type‘: u‘TRUNK‘, u‘confirm_rate‘: u‘100.0000%‘, u‘pass_count‘: 652, u‘test_year‘: u‘2016‘, u‘id‘: 717}]

result = []
for i in range(0,len(aa)):
sum_all_case_count,sum_pass_count,sum_bug_count, sum_fail_count,flag,sum_oldfail_count,sum_newfail_count = 0,0,0,0,0,0,0
for r in result:
bb = aa[i][‘version_num‘].split(‘_W‘)
if bb[1][:5] in r[‘version_num‘]:
flag = 1
if flag == 0:
for j in range(0,len(aa)):
print aa[j][‘version_num‘].split(‘_W‘)
if (aa[i][‘version_num‘].split(‘_W‘))[1][:5] in (aa[j][‘version_num‘].split(‘_W‘)[1]):
#aa[i][‘version_num‘] = (aa[i][‘version_num‘].split(‘_W‘))[1][0:5]
sum_all_case_count = sum_all_case_count+aa[j][‘all_case_count‘]
sum_pass_count = sum_pass_count+aa[j][‘pass_count‘]
sum_bug_count = sum_bug_count+aa[j][‘bug_count‘]
sum_fail_count = sum_fail_count+aa[j][‘fail_count‘]
if ‘FM_BASE‘ in aa[j][‘version_num‘]:
sum_oldfail_count = sum_oldfail_count +aa[j][‘fail_count‘]
if ‘PassList‘ in aa[j][‘version_num‘]:
sum_newfail_count = sum_newfail_count +aa[j][‘fail_count‘]
one_record = dict(version_num=aa[i][‘version_num‘],
sum_all_case_count=sum_all_case_count,
sum_pass_count=sum_pass_count,
sum_bug_count=sum_bug_count,
sum_fail_count=sum_fail_count,
sum_oldfail_count=sum_oldfail_count,
sum_newfail_count =sum_newfail_count
)

result.append(one_record)
print result

if __name__ == ‘__main__‘:
test()

时间: 2024-12-07 11:21:54

python合并list中各个字典中相同条件的累计数的相关文章

iOS开发——根据数组中的字典中的某一元素排序

数组中的元素是字典,字典中的某一个元素,比如说姓名,现在需要按照姓名的首字母来排序,怎么搞? 做法很简单,在字典中加一个元素,保存姓名的首字母,然后用下面的方法排序. - (void)sortWifiList { NSArray *resultArray = [myDataArray sortedArrayUsingFunction:compare context:NULL]; [myDataArray removeAllObjects]; [myDataArray addObjectsFrom

Python中获取字典中最值对应的键

利用min(dict, key=dict.get) >>> d = {1:1, 2:0, 3:2} {1: 1, 2: 0, 3: 2} >>> min(d, key=d.get) 2 利用lambda函数 >>> min(d.items(), key=lambda x: x[1]) (2, 0) >>> min(d, key=lambda x: d[x]) 2

iOS开发——NSArray中的字典排序

手头上碰到一个项目,需要给数组中的字典中的一个字段排序,想了想,干脆再字典中增加一个字段,用来记录需要排序字段的第一个字符,用它来作为比较的对象,进行排序. - (void)viewDidLoad { [super viewDidLoad]; NSArray *arr = @[@{@"sortKey":@"54"},@{@"sortKey":@"67"},@{@"sortKey":@"78&quo

Objective-C中把数组中字典中的数据转换成URL

可能上面的标题有些拗口,学过PHP的小伙伴们都知道,PHP中的数组的下标是允许我们自定义的,PHP中的数组确切的说就是键值对.而在OC我们要用字典(Dictionary)来存储,当然了Java用的是Map来存储键值对.下面我们将实现一个极为实用的小例子,网络请求有get和post方法,两种方法各有其优点.在表单提交时Post方法用的更多一些,URL传值则会用到Get方法.在用PHP编程的时候肯定会经常拼接url来传参或者请求,在IOS开发中会向服务器通过url请求一些数据,所以对url的拼接是少

模态方法解析字典中的数据

通过模态的方法把数组中的字典中的数组放到一个数组中,并可以用点语法实现调用 1.解析数据: 代码: NSString *path =[[NSBundle mainBundle] pathForResource:@"StudentArr" ofType:@"plist"]; self.stuArr =[NSMutableArray arrayWithContentsOfFile:path]; 用self.stuArr 来接收收据,这个数组里面全是字典 2.接下来用fo

Python中的字典及举例

字典 字典是python中的唯一的映射类型(哈希表) 字典对象是可变的,但是字典的键必须使用不可变对象,一个字典中可以使用不同类型的键值. 字典的方法 keys() values() items() 举例如下: In [10]: dic = {} In [11]: type(dic) Out[11]: dict In [12]: dic = {'a':1,1:123} In [13]: dic Out[13]: {1: 123, 'a': 1} In [14]: dic = {'a':1,1:1

Python中使用字典的几个小技巧

1 解包 所谓解包,就是将字典通过 ** 操作符转为 Key=Value 的形式,这种形式可以直接传给函数作为关键字参数. 说说适用的几种情况. 1.1 搜索拼接条件 当应用中使用类似 SQLAlchemy 的 ORM 形式读取数据的时候,不同搜索条件,传入给 ORM 的搜索参数也随之改变. 下面是图书表的部分数据(只展示了部分字段) +----+---------------+-------------------------+-------+ | id | category_name | b

Python中的字典

字段是Python是字典中唯一的键-值类型,是Python中非常重要的数据结构,因其用哈希的方式存储数据,其复杂度为O(1),速度非常快.下面列出字典的常用的用途. [字典中常见方法列表] #方法 #描述 ------------------------------------------------------------------------------------------------- D.clear() #移除D中的所有项 D.copy() #返回D的副本 D.fromkeys(s

python中的字典应用实例

字典中的键使用时必须满足一下两个条件: 1.每个键只能对应一个项,也就是说,一键对应多个值时不允许的(列表.元组和其他字典的容器对象除外).当有键发生冲突时(即字典键重复赋值),取最后的赋值. >>> myuniversity_dict = {'name':'yuanyuan', 'age':18, 'age':19, 'age':20, 'schoolname':Chengdu, 'schoolname':Xinxiang} Traceback (most recent call la