python之set集合操作
set集合天生具有去重功能
1、创建集合,集合的value类型:string、tuple、frozenset、数字等不可变类型;
s1 =set()#空集合
s2=set("")
s3=set(["xue","zhi","qian"])
s4={"","","","","","","",""}
print(s1)
print(s2)
print(s3)
print(s4) # 以上打印结果是
set()
{'', '', '', '', '', ''}
{'xue', 'zhi', 'qian'}
{'', '', '', '', '', ''}
2、如果要在许多列表中找出相同的项,那么用集合是最好不过的了,用集合只用一行就可以解决,那就是取交集;例如:
(1)第一种方法:
s2=set("")
s4={"","","","","","","",""}
print(s2&s4)#取交集
# 以上打印结果是
{'', ''}
(2)第二种方法:
s3=set(["xue","zhi","qian"])
s4={"","","","","","","",""}
print(s3.intersection(s2))#取交集 # 以上打印结果是
set() #集合s2和s3没有交集,所以结果为set()
3、取并集,就是把两个集合合并到一起去重,例如:
(1)第一种方法:
s2=set("")
s3=set(["xue","zhi","qian"])
print(s2|s3)#取并集
# 以上打印结果是
{'qian', '', 'xue', '', 'zhi', '', '', '', ''}
(2)第二种方法:
s2=set("")
s3=set(["xue","zhi","qian"])
print(s2.union(s3))#取并集
# 以上运行结果是
{'qian', '', 'xue', '', 'zhi', '', '', '', ''}
4、取差集,就是一个集合中有另一个集合中没有的,例如:
(1)第一种方法:
s5 ={1,2,3}
s6={1,4,6}
print(s5-s6)#取差集,s5中有,s6中没有的
print(s6-s5)#取差集,s6中有,s5中没有的
#以上运行结果是
{2, 3}
{4, 6}
(2)第二种方法:
s5 ={1,2,3}
s6={1,4,6}
print(s5.difference(s6))#取差集,s5中有,s6中没有的
#以上运行结果是
{2, 3}
5、对称差集,就是俩集合里面都没有的,例如:
(1)第一种方法:
s5 ={1,2,3}
s6={1,4,6}
print(s5 ^ s6)#取对称差集
#以上运行结果是
{2, 3, 4, 6}
(2)第二种方法:
s3=set(["xue","zhi","qian"])
s4={"","","","","","","",""}
print(s4.symmetric_difference(s3))#取对称差集 # 以上运行结果是
{'qian', '', '', '', '', '', '', 'zhi', 'xue'}
6、向集合中增加元素,例如:
s5 ={1,2,3}
s5.add("ss") #加元素
print(s5)
#以上运行结果是
{'ss', 1, 2, 3}
7、删除元素
(1)第一种方法:使用pop()随机删除一个
s6={1,4,6}
s6.pop()#随机删除一个
print(s6)
#以上运行结果是
{4, 6}
(2)第二种方法:使用remove()指定删除哪一个元素,例如:
s5 ={1,2,3,"SS"}
s5.remove("SS")#指定删除哪个
print(s5)
#以上运行结果是
{1, 2, 3}
(3)使用update加入一个集合:
s4={"","","","","","","",""}
s4.update({1,2,3})#把另外一个集合加进去
print(s4)
#以上运行结果是
{1, '', '', 2, '', '', 3, '', ''}
8、使用集合练习:校验密码复杂程序;
import string
nums_set = set(string.digits)#数字集合
upper_set = set(string.ascii_uppercase)#大写字母集合
lower_set =set(string.ascii_lowercase)#小写字母集合
pun =set(string.punctuation)#特殊符号集合
for i in range(5):
pwd = input("请输入密码").strip()
pwd_set = set(pwd)
if pwd_set&nums_set and pwd_set&upper_set and pwd_set&lower_set and pwd_set &pun:
print("密码输入正确",pwd)
else:
print("密码输入不正确,必须包含大小写字母,数字和特殊符号")
python之set集合操作的更多相关文章
- Python基础-set集合操作
set集合,是一个无序且不重复的元素集合.定义方式类似字典使用{}创建 目前我们学过的数据类型: 1.字符串(str),2.整型(int),3.浮点型(float),4,列表(list) 5.元组(t ...
- python字典与集合操作
字典操作 字典一种key - value 的数据类型,使用就像我们上学用的字典,通过笔划.字母来查对应页的详细内容. 语法: info = { 's1': "jack", 's3' ...
- 转:Python字典与集合操作总结
转自:http://blog.csdn.net/business122/article/details/7537014 一.创建字典 方法①: >>> dict1 = {} > ...
- (Python基础)集合操作
集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集.差集.并集等关系 以下代码演示了去重,增删改查,以及关系测试供参考学习 ...
- python numpy 数据集合操作函数
arrarray([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])arr1array([0, 1, 2, 3, 4])np.intersect1d(arr,arr1)#计算数组ARR A ...
- Python 集合set添加删除、交集、并集、集合操作符号
在Python中集合set是基本数据类型的一种,它有可变集合(set)和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法. 1. ...
- Python之路-python(set集合、文本操作、字符编码 )
一.集合操作(set) ...
- python学习笔记:文件操作和集合(转)
转自:http://www.nnzhp.cn/article/16/ 这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句 ...
- Python学习笔记-Day3-set集合操作
set集合,是一个无序且不重复的元素集合.定义方式类似字典使用{}创建 目前我们学过的数据类型: 1.字符串(str),2.整型(int),3.浮点型(float),4,列表(list) 5.元组(t ...
随机推荐
- Python安装jpype调用java,安装jaydebeapi通过jdbc连接数据库
pip install JPype1或下载JPype1-0.7.0.tar.gz包 经常出现需要安装VC++服务等 测试代码如下: # Author: zfh import jpype,os,time ...
- 盘一盘 Thread源码
线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务. 继承关系图 线 ...
- E420笔记本升级固态硬盘
后壳比较好拆 机械硬盘盒 这里 可费了好大劲 才 拧开这 4个螺丝 光驱支架买的这个38-5rmb,京东自提 以前不知道的一件事: 原来的光驱挡板要自己拆下来换到新买的光驱支架上面 ...
- Vijos1774 机器翻译 [模拟]
1.题意:给定一段长度为N个单词的文章(一个单词用一个非负整数表示),可以使用一个容量为M个元素的容器.你的任务是使用字典的帮助翻译文章,遇到一个单词,查询之后将此单词的释义放入容器中,下次遇到时若此 ...
- Eclipse 代码快捷键模板(一)
话不多说,自行google. 设置快捷键,打开eclipse,依次打开:Window -> Preferences -> General -> Key. 设置代码快捷键,打卡ecli ...
- 2020年. NET Core面试题
第1题,什么是ASP net core? 首先ASP net core不是 asp net的升级版本.它遵循了dot net的标准架构, 可以运行于多个操作系统上.它更快,更容易配置,更加模块化,可扩 ...
- [梁山好汉说IT] 熵的概念 & 决策树ID3如何选择子树
[梁山好汉说IT] 熵的概念 & 决策树ID3如何选择子树 0x00 摘要 记录对概念的理解,用梁山好汉做例子来检验是否理解正确. 0x01 IT概念 1. 事物的信息和信息熵 1.1 事物的 ...
- 20191121-8 Scrum立会报告+燃尽图 04
此作业要求参见https://edu.cnblogs.com/campus/nenu/2019fall/homework/10068 一: 组名:组长组 组长:杨天宇 组员:魏新 罗杨美慧 王歆瑶 ...
- 【题解】P4841 城市规划(指数型母函数+多项式Ln)
[题解]P4841 城市规划 P4841 城市规划 超级弱化版本(DP):POJ - 1737 两张图不同当且仅当边的分布不一样的时候,带编号最后乘一个阶乘即可,现在最主要的问题就是"联通& ...
- $Noip2011/Luogu1315$ 观光公交 贪心
$Luogu$ $Sol$ 觉得这题贪心要想很多事情,不适合我这种没脑子选手$ovo$.看题解还理解了很久. 最开始是这样想的:把所有的路段上的乘客按大小排个序用加速器就好了,这个想法被自己轻松$ha ...