python基础语法之集合set
1 概念
集合是一个无需的,不重复的数组组合,它的主要作用如下:
去重,将一个列表装换成集合,会将其去重
关系测试,测试两组数据的交集,差集,并集等关系。
集合对象是一组无需排列的可哈希的值,集合成员可以作为字典的键。
集合中的元素不可以是列表或字典
2 集合的创建
s1 = set('hello word')
print(s1)
# {'o', 'e', 'h', 'w', 'd', 'l', ' ', 'r'}
s2 = set(['hello', 'word'])
print(s2)
# {'word', 'hello'}
3 集合的访问
由于集合是无序的,所以不能为集合创建索引或切片操作,只能循环遍历或使用in 、not in来访问判断集合元素
s = set('hello word')
print('h' in s) # True
print('a' in s) # False
for i in s:
print(i)
# l
# d
# w
# h
# r
# e
#
# o
4 集合的更新
可以用以下方法来更新集合
s.add()
s.update()
s.remove()
del: 可以删除集合本身
# 集合的更新
s = set('hello word')
s.add('mm')
print(s) # {'r', 'd', 'w', 'l', 'mm', 'h', 'o', ' ', 'e'} s.update('AB')
print(s) # {'h', 'o', 'B', 'd', 'e', 'mm', 'r', ' ', 'l', 'w', 'A'} s.remove('h')
print(s) # {'B', 'mm', 'd', 'e', 'o', 'A', ' ', 'w', 'r', 'l'}
注意:
s = set([1, 2, 'word'])
s.update([12, 'aaa'])
print(s) # {1, 2, 12, 'word', 'aaa'}
5 集合类型操作符
1 等价与不等价(==, !=)
s1 = set('hello')
s2 = set('hellollo')
print(s1 == s2) # True
2 子集,超集
s1 = set('hello word')
s2 = set('hello')
print('h' in s1) # True
print(s2 < s1) # True
注意
print(set('hello') < set('hellollo')) # False
3 并集(|)
联合(union)操作与集合的or操作其实是等价的,联合符号有个等价的方法 union()
s1 = set('hello')
s2 = set('word')
s3 = s1 | s2
print(s3) # {'w', 'o', 'r', 'e', 'd', 'l', 'h'}
s4 = s1.union(s2)
print(s4) # {'w', 'o', 'r', 'e', 'd', 'l', 'h'}
4 交集(&)
与集合and等价,交集负号的等价方法是intersection()
# 交集
s1 = set('hello')
s2 = set('word')
s3 = s1 & s2
print(s3) # {'o'}
s4 = s1.intersection(s2)
print(s4) # {'o'}
5 差集(-)
等价方法是difference()
# 差集(-)
s1 = set('hello')
s2 = set('word')
s3 = s1 - s2
print(s3) # {'e', 'h', 'l'}
s4 = s1.difference(s2)
print(s4) # {'e', 'h', 'l'}
6 对称差集(^)
对称差集是集合的异或, 取得元素属于原来两个集合,但是不同时属于原来的两个集合,其等价方法是symmetric_difference()
# 对称差集
s1 = set('hello')
s2 = set('world')
s3 = s1 ^ s2
print(s3) # {'r', 'h', 'w', 'e', 'd'}
s4 = s1.symmetric_difference(s2)
print(s4) # {'r', 'h', 'w', 'e', 'd'}
python基础语法之集合set的更多相关文章
- python基础语法、数据结构、字符编码、文件处理 练习题
考试范围 '''1.python入门:编程语言相关概念2.python基础语法:变量.运算符.流程控制3.数据结构:数字.字符串.列表.元组.字典.集合4.字符编码5.文件处理''' 考试内容 1.简 ...
- python基础语法及知识点总结
本文转载于星过无痕的博客http://www.cnblogs.com/linxiangpeng/p/6403991.html 在此表达对原创作者的感激之情,多谢星过无痕的分享!谢谢! Python学习 ...
- Python基础语法题库
引言: 语法练习包括Python基础语法.数据类型.字符编码和简单文件操作等内容. 正文(参考答案附录在题目下方): 1.Python 里用来告知解释器跳过当前循环中的剩余语句,然后继续进行下一轮循环 ...
- 尚学python课程---13、python基础语法
尚学python课程---13.python基础语法 一.总结 一句话总结: legend2系统使我能够快速掌握一门语法,特别有用 pass 语句:空语句:是为了保持程序结构的完整性 :作用:比如: ...
- python基础语法(变量与数据类型)
python基础语法(变量与数据类型) 一.python变量 python中的变量不需要声明.每个变量在使用钱都需要赋值,变量赋值以后,该变量才会被创建 在python中,变量就是变量,它没有类型,我 ...
- python之最强王者(2)——python基础语法
背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...
- Python 基础语法(三)
Python 基础语法(三) --------------------------------------------接 Python 基础语法(二)------------------------- ...
- Python 基础语法(四)
Python 基础语法(四) --------------------------------------------接 Python 基础语法(三)------------------------- ...
- Python 基础语法(二)
Python 基础语法(二) --------------------------------------------接 Python 基础语法(一) ------------------------ ...
随机推荐
- UVA - 1640 The Counting Problem (数位dp)
题意:统计l-r中每种数字出现的次数 很明显的数位dp问题,虽然有更简洁的做法但某人已经习惯了数位dp的风格所以还是选择扬长避短吧(说白了就是菜啊) 从高位向低位走,设状态$(u,lim,ze)$表示 ...
- Swagger使用--在一个Controller中使用相同(类似)参数的方法
解决方法:在Startup.cs中加入CustomSchemaIds // Register the Swagger generator, defining 1 or more Swagger doc ...
- [LOJ3124][CTS2019|CTSC2019]氪金手游:树形DP+概率DP+容斥原理
分析 首先容易得出这样一个事实,在若干物品中最先被选出的是编号为\(i\)的物品的概率为\(\frac{W_i}{\sum_{j=1}^{cnt}W_j}\). 假设树是一棵外向树,即父亲比儿子先选( ...
- Aragorn's Story
A - Aragorn's Story 直接套 线段树+树剖 板子 代码: // Created by CAD on 2019/8/12. #include <bits/stdc++.h> ...
- 客户端框架-MVP
MVP Model-View-Presenter MVP是把MVC中的Controller换成了Presenter(呈现),目的就是为了完全切断View跟Model之间的联系,由Presenter充当 ...
- hive 调优(三)tez优化
我们采用亚马逊emr构建的集群,用hive查询的时候报错,FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.e ...
- springboot 测试发送邮件
首先在pom文件引入依赖: <!--email依赖 --> <dependency> <groupId>org.springframework.boot</g ...
- C++入门经典-例5.17-右值引用的定义
1:右值引用的定义: 类型 && i=被引用的对象: 左值与右值的区别在于,右值是临时变量,例如,函数的返回值,并且无法被改变. 当右值引用被初始化后,临时变量消失. 代码如下: // ...
- Python学习笔记:第一次接触
用的是windows的IDLE(python 3) 对象的认识:先创建一个list对象(用方括号) a = ['xieziyang','chenmanru'] a 对list中对象的引用 a[0] # ...
- spark 笔记 6: RDD
了解RDD之前,必读UCB的论文,个人认为这是最好的资料,没有之一. http://www.cs.berkeley.edu/~matei/papers/2012/nsdi_spark.pdf A Re ...