python 的集合类型和 其他语言类似, 是一个无序不重复元素集,我在之前学过的其他的语言好像没有见过这个类型,基本功能包括关系测试和消除重复元素.集合对象还支持union(联合), intersection(交), difference(差)和sysmmetricdifference(对称差集)等数学运算,和我们初中数学学的集合的非常的相似。
1. 先看下python 集合 类型的不重复性,这方面做一些去重处理非常的好,比如我们要处理一些数据,想把重复的数据给去掉,然后在操作的话,可以把它转换成集合类型,然后在由集合类型转换成其他的类型。
1 a = [2,3,4,2,1]
我们最终要实现的效果是:a = [1,2,3,4]
那我们要怎么实现呢。
1观察下这个列表,我们发现列表里有重复的元素存在,所以我们第一想到的就是去掉列表里的重复元素。
1 a = set(a)
2 print a
集合a的结果是:set([1, 2, 3, 4])
下一步要实现排序,我们又想到了一个比较简单的方法,因为集合没有排序方法,而列表有排序的方法,所以我们们把它转换成python 列表 的类型,调用列表的排序方法。
1 a = list(a)
2 a.sort()
3 print a
列表a的结果是:[1,2,3,4]
2. union(联合), intersection(交), difference(差)
1 a = set('abcde')
2 b = set('bdcf')
求集合的交集:
1 a & b
结果是:set(['c', 'b', 'd'])
求差集:
1 a - b
结果是:set(['a', 'e'])
求联合:
1 a|b
结果是:set(['a', 'c', 'b', 'e', 'd', 'f'])
总结:python 集合和数学的集合概念比较像,经常用在数据的去重处理和一些数据的中转处理。
下一篇:Python占位符格式化详解
一级建造师二级建造师消防工程师造价工程师土建职称房地产经纪人公路检测工程师建筑八大员注册建筑师二级造价师监理工程师咨询工程师房地产估价师 城乡规划师结构工程师岩土工程师安全工程师设备监理师环境影响评价土地登记代理公路造价师公路监理师化工工程师暖通工程师给排水工程师计量工程师
执业药师执业医师卫生资格考试卫生高级职称护士资格证初级护师主管护师住院医师临床执业医师临床助理医师中医执业医师中医助理医师中西医医师中西医助理口腔执业医师口腔助理医师公共卫生医师公卫助理医师实践技能内科主治医师外科主治医师中医内科主治儿科主治医师妇产科医师西药士/师中药士/师临床检验技师临床医学理论中医理论