set在python里的含义和用法

yipeiwu_com5年前Python基础

set在python里是什么意思?

set是一组数,无序,内容又不能重复,通过调用set()方法创建:

>>> s = set(['A', 'B', 'C'])

对于访问一个set的意义就仅仅在于查看某个元素是否在这个集合里面,注意大小写敏感:

>>> print 'A' in sTrue>>> print 'D' in sFalse

也通过for来遍历:

s = set([('Adam', 95), ('Lisa', 85), ('Bart', 59)])for x in s:  print x[0],':',x[1]>>>Lisa : 85Adam : 95Bart : 59

通过add和remove来添加、删除元素(保持不重复),添加元素时,用set的add()方法

>>> s = set([1, 2, 3])>>> s.add(4)>>> print sset([1, 2, 3, 4])

如果添加的元素已经存在于set中,add()不会报错,但是不会加进去了:

>>> s = set([1, 2, 3])>>> s.add(3)>>> print sset([1, 2, 3])

删除set中的元素时,用set的remove()方法:

>>> s = set([1, 2, 3, 4])>>> s.remove(4)>>> print sset([1, 2, 3])

如果删除的元素不存在set中,remove()会报错:

>>> s = set([1, 2, 3])>>> s.remove(4)Traceback (most recent call last): File "<stdin>", line 1, in <module>KeyError: 4

所以如果我们要判断一个元素是否在一些不同的条件内符合,用set是最好的选择,下面例子:

months = set(['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec',])x1 = 'Feb'x2 = 'Sun'if x1 in months:  print 'x1: ok'else:  print 'x1: error'if x2 in months:  print 'x2: ok'else:  print 'x2: error'>>>x1: okx2: error

另外,set的计算效率比list高.

以上就是关于SET在PY中的用法和相关知识点,感谢大家的阅读和对【听图阁-专注于Python设计】的支持。

相关文章

Python脚本暴力破解栅栏密码

今天遇到一个要破解的栅栏密码,先给大家介绍通用的脚本。 方法一(通用脚本): #!/usr/bin/env python # -*- coding: gbk -*- # -*-...

Python Selenium Cookie 绕过验证码实现登录示例代码

Python Selenium Cookie 绕过验证码实现登录示例代码

之前介绍过通过cookie 绕过验证码实现登录的方法。这里并不多余,会增加分析和另外一种方法实现登录。 1、思路介绍  1.1、直接看代码,内有详细注释说明 # File...

Python生成器以及应用实例解析

本文研究的主要是Python生成器及其应用,具体如下。 一、定义 可以理解为一种数据类型,这种数据类型自动实现了迭代器协议(其他的数据类型需要调用自己内置的__iter__方法),所以生...

Python利用ansible分发处理任务

其实对python熟悉的人都可以自己用paramiko来写任务的分发系统,再结合gevent的协程就能实现异步的处理。 如果只想用工具的朋友可以使用一些工具,类似{puppet,salt...

Python opencv实现人眼/人脸识别以及实时打码处理

Python opencv实现人眼/人脸识别以及实时打码处理

利用Python+opencv实现从摄像头捕获图像,识别其中的人眼/人脸,并打上马赛克。 系统环境:Windows 7 + Python 3.6.3 + opencv 3.4.2 一、系...