day05 Python中的set集合
集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的。以下是集合最重要的两点:
1.去重,把一个列表变成集合,就自动去重了。
2.关系测试,测试两组数据之前的交集、差集、并集等关系
1.集合的创建
# set集合用{}表示,有两种创建方法
set1 = set({1, 2, 'barry'}) # 使用set()方法创建集合
set2 = {1, 2, 'barry'} # 直接赋值创建集合
print(set1, set2)
2.集合的增
set1 = {'alex', 'wusir', 'ritian', 'egon', 'barry'}
set1.add('女神') # 通过add()方法给集合添加单个元素
print(set1) set1.update('A') # 通过update()方法给集合迭代添加多个元素
print(set1)
set1.update('老师')
print(set1)
set1.update([1, 2, 3])
print(set1)
3.集合的删
set1 = {'alex', 'wusir', 'ritian', 'egon', 'barry'} set1.remove('alex') # 删除指定的元素
print(set1) set1.pop() # 随机删除一个元素
print(set1) set1.clear() # 清空集合
print(set1) del set1 # 删除集合
print(set1)
4.集合的其他操作
4.1 交集。(& 或者 intersection)
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
print(set1 & set2) # 交集为 {4, 5}
print(set1.intersection(set2)) # & 和 .intersection()方法都可用来求交集
4.2 并集。(| 或者 union)
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8} print(set1 | set2) # 并集 {1,2,3,4,5,6,7,8}
print(set2.union(set1))
print(set1.union(set2))
4.3 差集。(- 或者 difference)
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8} print(set1 - set2) # 差集 {1,2,3}
print(set1.difference(set2)) # 差集 {8,6,7} print(set2 - set1) # 差集 {1,2,3}
print(set2.difference(set1)) # 差集 {8,6,7}
4.4反交集。 (^ 或者 symmetric_difference)
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8} print(set1 ^ set2)
print(set1.symmetric_difference(set2)) # {1, 2, 3, 6, 7, 8}
4.5子集与超集
set1 = {1, 2, 3}
set2 = {1, 2, 3, 4, 5, 6} print(set1 < set2) # 结果为True 说明set1是set2的子集
print(set1.issubset(set2)) # 结果为True 说明set1是set2的子集 print(set2 > set1) # 结果为True 说明set2是set1的超集
print(set2.issuperset(set1)) # 结果为True 说明set2是set1的超集
5,frozenset不可变集合,让集合变成不可变类型。
s = frozenset('barry')
print(s, type(s))
# 输出结果: frozenset({'r', 'y', 'a', 'b'}) <class 'frozenset'>
day05 Python中的set集合的更多相关文章
- Python中字典和集合
Python中字典和集合 映射类型: 表示一个任意对象的集合,且可以通过另一个几乎是任意键值的集合进行索引 与序列不同,映射是无序的,通过键进行索引 任何不可变对象都可用作字典的键,如字符串.数字.元 ...
- 认识python中的set集合及其用法
python中,集合(set)是一个无序排列,可哈希, 支持集合关系测试,不支持索引和切片操作,没有特定语法格式, 只能通过工厂函数创建.集合里不会出现两个相同的元素, 所以集合常用来对字符串或元组或 ...
- Python中字典和集合的用法
本人开始学习python 希望能够慢慢的记录下去 写下来只是为了害怕自己忘记. python中的字典和其他语言一样 也是key-value的形式 利用空间换时间 可以进行快速的查找 key 是唯一的 ...
- Python中的SET集合操作
python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和 ...
- Python中的数据结构 --- 集合(set)
1.集合(set)里面的元素是不可以重复的 s={1,2,3,3,4,3,4} ## 输出之后,没有重复的 2.定义一个空集合 s = set([]) print s,type(s)3 ...
- python中的set集合和深浅拷贝
一.基础数据类型的补充 1.str中的join算法,将列表转换成字符串,并用'_'(或其他) li=['李嘉诚','马化腾','刘嘉玲','黄海峰',] s='_'.join(li) print(s) ...
- Python中字典,集合和元组函数总结
## 字典的所有方法- 内置方法 - 1 cmp(dict1, dict2) 比较两个字典元素. - 2 len(dict) 计算字典元素个数,即键的总数. - 3 str(dict) 输出字典可打印 ...
- 2018.8.3 python中的set集合及深浅拷贝
一.字符串和列表的相互转化 之前写到想把xx类型的数据转化成yy类型的数据,直接yy(xx)就可以了,但是字符串和列表的转化比较特殊,相互之间的转化要通过join()和split()来实现. 例如: ...
- python中的set集合
当使用爬虫URL保存时,一般会选择set来保存urls,set是集合,集合中的元素不能重复,其次还有交集,并集等集合的功能, 爬虫每次获取的网页中提取网页中的urls,并保存,这就需要利用urls = ...
随机推荐
- Internet Explorer 已限制此网页运行脚本或ActiveX控件。 允许阻止的内容(A)
打开“Internet选项”->"高级",勾选"允许活动内容在“我的电脑”的文件中运行".重启IE
- Appium Server
原理 我的是配置以下直接打开 报这个错是没按装apk { "platformName": "Android", "platformVersion&qu ...
- go关键字之struct定义声明方式
type Student struct{ name string age int } var stu Student stu.name,stu.age = "张三”,10 stu2 := S ...
- IE 浏览器旧版本下载
1. http://www.oldversion.com/windows/internet-explorer/ IE10 浏览器 32bit & 64 bit:下载 2. https://ww ...
- git使用——推送本地文件到远程仓库
捣鼓了一下午之后总结如下: 1.首先可以照着这个链接里面博主给出的详细方法进行操作和配置: http://www.open-open.com/lib/view/open1454507333214. ...
- 10.30 rest_framework总结
2018-10-30 20:25:23 终于学完了rest_framework 这个框架! 这个框架有一些基本组件!最重要的就是看源码!要一个类一个类的去找!按顺序! 并且要自己配置类的时候要先看源 ...
- poj 2826
太自闭了...明明很水的说... 有三种为0的情况.一种是有水平,一种是没交点. 第三种有点难想啊.就是下面那个板子被上面的挡住了,,雨水进不去... 关键是我翻了翻discuss找到了这种数据,,但 ...
- ubuntu安装notepad++
sudo add-apt-repository ppa:notepadqq-team/notepadqq sudo apt-get update sudo apt-get install notepa ...
- js中级小知识3
函数: 函数在调用的时候,会形成一个私有作用域,内部的变量不会被外面访问,这种保护机制叫闭包.这就意味着函数调用完毕,这个函数形成的栈内存会被销毁. 有些时候我们不希望他被销毁. 函数归属谁跟它在哪调 ...
- gui小计算器的程序写法
import java.awt.BorderLayout; import java.awt.EventQueue; import javax.swing.JFrame; import javax.sw ...