python 的荟萃范例和 其他语言雷同, 是一个无序不反复元素集,我在之前学过的其他的语言仿佛没有见过这个范例,根基成果包罗干系测试和消除反复元素.荟萃工具还支持union(连系), intersection(交), difference(差)和sysmmetricdifference(对称差集)等数学运算,和我们初中数学学的荟萃的很是的相似。
1. 先看下python 荟萃 范例的不反复性,这方面做一些去重处理惩罚很是的好,好比我们要处理惩罚一些数据,想把反复的数据给
去掉,然后在操纵的话,可以把它转换成荟萃范例,然后在由荟萃范例转换成其他的范例。
a = [2,3,4,2,1]
我们最终要实现的结果是:a = [1,2,3,4]
那我们要怎么实现呢。
1调查下这个列表,我们发明列内外有反复的元素存在,所以我们第一想到的就是去掉列内外的反复元素。
a = set(a) print a
荟萃a的功效是:set([1, 2, 3, 4])
下一步要实现排序,我们又想到了一个较量简朴的要领,因为荟萃没有排序要领,而列表有排序的要领,所以我们们把它转换成python 列表 的范例,挪用列表的排序要领。
a = list(a) a.sort() print a
列表a的功效是:[1,2,3,4]
2. union(连系), intersection(交), difference(差)
a = set('abcde') b = set('bdcf')
求荟萃的交集:
a & b
功效是:set(['c', 'b', 'd'])
求差集:
a - b
功效是:set(['a', 'e'])
求连系:
a|b
功效是:set(['a', 'c', 'b', 'e', 'd', 'f'])
总结:python 荟萃和数学的荟萃观念较量像,常常用在数据的去重处理惩罚和一些数据的中转处理惩罚。