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程序设计有所帮助。

(0)

相关推荐

  • Python中集合类型(set)学习小结

    set 是一个无序的元素集合,支持并.交.差及对称差等数学运算, 但由于 set 不记录元素位置,因此不支持索引.分片等类序列的操作. 初始化 复制代码 代码如下: s0 = set() d0 = {} s1 = {0} s2 = {i % 2 for i in range(10)} s = set('hi') t = set(['h', 'e', 'l', 'l', 'o']) print(s0, s1, s2, s, t, type(d0)) 运行结果: 复制代码 代码如下: set() {

  • Python中的集合类型知识讲解

    集合类型         数学上,,把set称做由不同的元素组成的集合,集合(set)的成员通常被称做集合元素(set elements).Python把这个概念引入到它的集合类型对象里.集合对象是一组无序排列的可哈希的值,集合成员可以做字典中的键.数学集合转为Python的集合对象很有效,集合关系测试和union.intersection等操作符在Python里也同样如我们所预想地那样工作.         和其他容器类型一样,集合支持用in和not in操作符检查成员,由len()内建函数得

  • Python set集合类型操作总结

    Python中除了字典,列表,元组还有一个非常好用的数据结构,那就是set了,灵活的运用set可以减去不少的操作(虽然set可以用列表代替) 小例子 1.如果我要在许多列表中找出相同的项,那么用集合是最好不过的了,用集合只用一行就可以解决 复制代码 代码如下: x & y & z # 交集 2.去重 复制代码 代码如下: >>> lst = [1,2,3,4,1] >>> print list(set(lst)) [1, 2, 3, 4] 用法 注意se

  • python集合类型用法分析

    本文实例分析了python集合类型用法.分享给大家供大家参考.具体分析如下: python的集合类型和其他语言类似, 是一个无序不重复元素集,我在之前学过的其他的语言好像没有见过这个类型,基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和sysmmetric difference(对称差集)等数学运算,和我们初中数学学的集合的非常的相似. 一.先看下python 集合类型的不重复性,这方面做一些去重处理非常的好

  • Python星号*与**用法分析

    本文实例分析了Python星号*与**用法.分享给大家供大家参考,具体如下: 1. 加了星号(*)的变量名会存放所有未命名的变量参数,不能存放dict,否则报错. 如: def multiple(arg, *args): print "arg: ", arg #打印不定长参数 for value in args: print "other args:", value if __name__ == '__main__': multiple(1,'a',True) 输出

  • Python松散正则表达式用法分析

    本文实例讲述了Python松散正则表达式用法.分享给大家供大家参考,具体如下: Python 允许用户利用所谓的 松散正则表达式来完成这个任务.一个松散正则表达式和一个紧凑正则表达式主要区别表现在两个方面: 1. 忽略空白符.空格符,制表符,回车符不匹配它们自身,他们根本不参与匹配.(如果你想在松散正则表达式中匹配一个空格符,你必须在它前面添加一个反斜线符号对他进行转义) 2. 忽略注释.在松散正则表达式中的注释和在普通Python代码中的一样:开始于一个#符号,结束于行尾.这种情况下,采用在一

  • C#可空类型用法分析

    本文实例讲述了C#可空类型用法.分享给大家供大家参考.具体分析如下: 可空类型只能用于值类型,不能用于引用类型,引用类型本身支持null值. 如果直接把null赋值给int类型,会出现一个错误"无法将 NULL 转换成'int',因为它是一种值类型". 赋值时应该使用 int? a = null; 可空类型与一元或二元运算符一起使用是,如果一个操作数或两个操作数都是null,其结果为null. 说白了int?a=null 这句话的意思就是让值类型a可以接收null这个值 举例1 int

  • Python AES加密模块用法分析

    本文实例讲述了Python AES加密模块用法.分享给大家供大家参考,具体如下: AES是新的一种加密模块.在上次介绍过在C语言中如何来OpenSSL中的DES.这次我们来看看Python自带的库如何来使用AES来加解密.其实二者的原理还是非常像,只是说在python中来做这个事情会比C语言要简单点,但是比起C#/Java还是有点点啰嗦.在C#/JAVA这种语言中,对于加密的源数据的处理,padding一般都会有完整的实现.我在上次C语言中也处理过这个问题.在python库中,也是需要自己来处理

  • python中xrange用法分析

    本文实例讲述了python中xrange用法.分享给大家供大家参考.具体如下: 先来看如下示例: >>> x=xrange(0,8) >>> print x xrange(8) >>> print x[0] 0 >>> print x[7] 7 >>> print x[8] Traceback (most recent call last): File "<stdin>", line

  • Python常见加密模块用法分析【MD5,sha,crypt模块】

    本文实例讲述了Python常见加密模块用法.分享给大家供大家参考,具体如下: 1. md5模块 md5.new([arg])     返回一个md5对象,如果给出参数,则相当于调用了update(arg) md5.update(arg)   用string参数arg更新md5对象 md5.digest()         返回16字节的摘要,由传给update的string生成,摘要没有ascii字符 md5.hexdigest()    以16进制的形式返回摘要 import md5 a =

  • ES6新特性之Symbol类型用法分析

    本文实例讲述了ES6新特性之Symbol类型用法.分享给大家供大家参考,具体如下: Symbol类型 1. 为了避免属性名的冲突,ES6新增了Symbol类型.Symbol可以产生一个独一无二的值. let s1 = Symbol('a'); let s2 = Symbol('a'); console.log(s1); //Symbol(a) console.log(typeof s1); //symbol console.log(s1 == s2); //false 2.Symbol用于属性名

  • Python常用模块用法分析

    本文较为详细的讲述了Python中常用的模块,分享给大家便于大家查阅参考之用.具体如下: 1.内置模块(不用import就可以直接使用) 常用内置函数: help(obj) 在线帮助, obj可是任何类型 callable(obj) 查看一个obj是不是可以像函数一样调用 repr(obj) 得到obj的表示字符串,可以利用这个字符串eval重建该对象的一个拷贝 eval_r(str) 表示合法的python表达式,返回这个表达式 dir(obj) 查看obj的name space中可见的nam

  • python集合用法实例分析

    本文实例讲述了python集合用法.分享给大家供大家参考.具体分析如下: # sets are unordered collections of unique hashable elements # Python23 tested vegaseat 09mar2005 # Python v2.4 has sets built in import sets print "List the functions within module 'sets':" for funk in dir(s

随机推荐