python集合类型用法分析

yipeiwu_com6年前Python基础

本文实例分析了python集合类型用法。分享给大家供大家参考。具体分析如下:

python的集合类型和其他语言类似, 是一个无序不重复元素集,我在之前学过的其他的语言好像没有见过这个类型,基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和sysmmetric difference(对称差集)等数学运算,和我们初中数学学的集合的非常的相似。

一、先看下python 集合类型的不重复性,这方面做一些去重处理非常的好,比如我们要处理一些数据,想把重复的数据给
去掉,然后在操作的话,可以把它转换成集合类型,然后在由集合类型转换成其他的类型。

a = [2,3,4,2,1]

我们最终要实现的效果是:

a = [1,2,3,4]

那我们要怎么实现呢。

观察下这个列表,我们发现列表里有重复的元素存在,所以我们第一想到的就是去掉列表里的重复元素。

a = set(a)
print a

集合a的结果是:

set([1, 2, 3, 4])

下一步要实现排序,我们又想到了一个比较简单的方法,因为集合没有排序方法,而列表有排序的方法,所以我们们把它转换成python 列表的类型,调用列表的排序方法。

a = list(a)
a.sort()
print a

列表a的结果是:

[1,2,3,4]

说到集合,也可以说说 python 元组和 python数据类型总结

二、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集合和数学的集合概念比较像,经常用在数据的去重处理和一些数据的中转处理。

希望本文所述对大家的Python程序设计有所帮助。

相关文章

Python直接赋值、浅拷贝与深度拷贝实例分析

Python直接赋值、浅拷贝与深度拷贝实例分析

本文实例讲述了Python直接赋值、浅拷贝与深度拷贝。分享给大家供大家参考,具体如下: 直接赋值:其实就是对象的引用(别名)。 浅拷贝(copy):拷贝父对象,不会拷贝对象的内...

Python中垃圾回收和del语句详解

Python中的垃圾回收算法是采用引用计数, 当一个对象的引用计数为0时, Python的垃圾回收机制就会将对象回收 a = "larry" b = a larry这个字符串对象,...

Python实现简单的用户交互方法详解

Python实现简单的用户交互方法详解

我们经常使用的程序都会有与用户交互的程序,比如网页的登录,需要输入自己的账号,密码这类的用户交互功能。 我们来写个简单的用户输入和输出的程序代码: user1 = input("账号...

用Python脚本来删除指定容量以上的文件的教程

文件多了乱放, 突然有一天发现硬盘空间不够了, 于是写了个python脚本搜索所有大于10MB的文件,看看这些大文件有没有重复的副本,如果有,全部列出,以便手工删除 使用方式 加一个指定...

Python素数检测的方法

本文实例讲述了Python素数检测的方法。分享给大家供大家参考。具体如下: 因子检测: 检测因子,时间复杂度O(n^(1/2)) def is_prime(n): if n &l...