Python-集合的基本操作(set)
1. 前言
python中的集合和数学里的类似也是用于存放不重复的元素,它有可变集合(set)和不可变集合(feozenset)两种,集合的所有元素都放在一对大括号"{}"里(列表是[]、元组是()、字典是{}),集合最好的应用就是去重,因为集合中的每一个元素都是唯一的。
2. 集合的创建
2.1.直接使用"{}"创建
格式:集合名={element 1,element 2,......,element n}
在创建集合时,如果输入了重复的元素,python会自动只保留一个。
举例
set1={1,2,3,4,5,6,1}
print(set1)
2.2.用set()函数创建
将列表、元组等其他可迭代对象转换为集合
格式:集合名=set(iteration)
iteration表示要转换为集合的可迭代对象
举例
lst=[1,2,3,4,5,6,1]
set1=set(lst)
print(set1)
注意:在创建空集合时,只能使用set()实现,而不能使用大括号"{}"实现,在python里,直接使用一对大括号"{}"表示创建一个空字典。
3. 修改集合中的元素
3.1. 向集合添加元素
add()方法
格式:集合名.add(element)
注意:element表示要添加的元素内容,只能是字符串、数字、布尔类型等,不能是列表、元组等可迭代对象。
举例
set1={1,2,3,4,5}
print(set1)
set1.add(6)
print(set1)
update()方法
update方法也可以添加元素,且参数可以是列表,元组,字典等。
格式:集合名.update()
举例
set2 = set(("Google", "Runoob", "Taobao"))
set2.update({1,3})
print(set2)
#{1, 3, 'Google', 'Taobao', 'Runoob'}
set2.update([1,4],[5,6])
print(set2)
#{1, 3, 4, 5, 6, 'Google', 'Taobao', 'Runoob'}
3.3.从集合中删除元素
使用del命令可以删除整个集合;
使用pop()删除第一个元素;
使用remove()可以删除指定一个元素;
使用clear()可以使删除集合中所有元素,使其变为空集合;
使用discard()移除集合中的元素,且如果元素不存在,不会发生错误。
del命令举例
set1={1,2,3,4,5}
del set1
print(set1)
pop()/remove()举例
set1={1,2,3,4,5}
set1.pop()
print(set1)
set1.remove(4)
print(set1)
clear()举例
set1={1,2,3,4,5}
set1.clear()
print(set1)
discard()举例
set1={1,2,3,4,5}
set1.discard(7)
print(set1)
4. 遍历集合的元素
# 遍历集合
for s in set1:
print(2)
5. 判断是否在集合中
s in set1
判断元素 x 是否在集合 s 中,存在返回 True,不存在返回 False。
6. 计算集合元素个数
len(set1)
7. 集合的交集、并集和差集运算
4.1交集:&
4.2并集:|
4.3差集:-
举例
set1={1,2,3,4,5}
set2={3,4,5,6,7}
print(set1&set2)
print(set1|set2)
print(set1-set2)
8. 集合内置方法完整列表
|
方法 |
描述 |
|
为集合添加元素 |
|
|
移除集合中的所有元素 |
|
|
拷贝一个集合 |
|
|
返回多个集合的差集 |
|
|
移除集合中的元素,该元素在指定的集合也存在。 |
|
|
删除集合中指定的元素 |
|
|
返回集合的交集 |
|
|
返回集合的交集。 |
|
|
判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。 |
|
|
判断指定集合是否为该方法参数集合的子集。 |
|
|
判断该方法的参数集合是否为指定集合的子集 |
|
|
随机移除元素 |
|
|
移除指定元素 |
|
|
返回两个集合中不重复的元素集合。 |
|
|
移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。 |
|
|
返回两个集合的并集 |
|
|
给集合添加元素 |
Python-集合的基本操作(set)的更多相关文章
- Python集合的基本操作
#-*coding:utf-8 -* list =set([2,3,4]) list2 =set([5,3,7]) #交集 #print (list.intersection(list2)) #并集 ...
- Python之路 day2 集合的基本操作
#!/usr/bin/env python # -*- coding:utf-8 -*- #Author:ersa ''' #集合是无序的 集合的关系测试, 增加,删除,查找等操作 ''' #列表去重 ...
- <Python基础>集合的基本操作
#小知识点:返回对象的内存地址 i,j = 1,2 print(id(i),id(j)) #集合的基本操作, #相当于没有键值对的字典,里面的元素是无序且不重复的 #一般写法 s = set({1,2 ...
- Python - 集合 - 第十一天
Python 集合 集合(set)是一个无序的不重复元素序列. 可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建 ...
- Python集合详解
集合介绍: 集合(set)是一个无序的不重复元素序列.可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典 ...
- Python集合&字典
Python集合&字典 @ 目录 字典 字典的几种定义方式 第一种 第二种 第三种 字典的一些基本操作 通过key得到value 增加字典键值对 删除字典键值对 格式化操作 清空字典 复制字典 ...
- Python 集合set添加删除、交集、并集、集合操作符号
在Python中集合set是基本数据类型的一种,它有可变集合(set)和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法. 1. ...
- [转]python集合set
Python中集合set是基本数据类型的一种,它有可变集合(set)和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法. 来源网 ...
- python集合使用范例的代码
在代码过程中中,将代码过程中比较好的代码段珍藏起来,如下的代码是关于python集合使用范例的代码,希望能对大伙有用. # sets are unordered collections of uniq ...
- python集合与字典的用法
python集合与字典的用法 集合: 1.增加 add 2.删除 •del 删除集合 •discard(常用)删除集合中的元素 #删除一个不存在的元素不会报错 •remove 删除一个不存在的 ...
随机推荐
- 基于 SpringBoot + magic-api + Vue3 + Element Plus + amis3.0 快速开发管理系统
Tansci-Boot 基于 SpringBoot2 + magic-api + Vue3 + Element Plus + amis3.0 快速开发管理系统 Tansci-Boot 是一个前后端分离 ...
- P1854-DP【绿】
首先通过这道题我收获了一个知识,那就是deque可以直接赋值,作用和vector类似就是复制一个一摸一样的deque,很好用,越来越发现deque眉清目秀了起来.以后deque可能是我最常用的STL结 ...
- [转帖]Oracle nvarchar2存储特殊字符乱码问题
https://www.cnblogs.com/PiscesCanon/p/15157506.html 这个问题研究了一天多,终于搞定了. 起因是业务需要存特殊字符'ø'到varchar2的字段中出现 ...
- ingress nginx 支持的K8S版本以及nginx版本信息
- [转帖]为什么不推荐使用/etc/fstab
https://www.jianshu.com/p/af49a5d0553f 对于工作中使用服务器的公司来讲,每到节假日来临时,总免不了对服务器进行下电.而收假回来的早上,则会有一个早上的时间会花费在 ...
- [转帖]焱融全闪系列科普| 为什么 SSD 需要 NVMe?
https://xie.infoq.cn/article/7026237b455c7d62f33afc4a9 NVMe 的由来 目前机械硬盘大多数使用 SATA (Serial ATA Advance ...
- 金蝶Cosmic虚拟机简单使用与总结
背景 知己知彼 简单学习下友商发出来的测试软件 看看有否对自己现在的工作有所指导 也看看对方的部署方式有啥优缺点 当然了仅是测试, 不是生产软件可能有失真. 注意 我没有测试序列号, 登录系统耗时很久 ...
- OpenEuler2203 基于容器和本地文件部署Redis Cluster的过程以及简单性能测试
背景 其实文件搭建和集群搭建没有任何区别 这次用先用容器搭建出来,然后测试一下性能 想着再使用本地部署的方式搭建一下. 两项验证容器和基于文件的搭建的性能差异 部分资料来源: https://blog ...
- 行云部署成长之路--慢SQL优化之旅 | 京东云技术团队
当项目的SQL查询慢得像蜗牛爬行时,用户的耐心也在一点点被消耗,作为研发,我们可不想看到这样的事.这篇文章将结合行云部署项目的实践经验,带你走进SQL优化的奇妙世界,一起探索如何让那些龟速的查询飞 ...
- 【构造,图论,建模】Loj3629「2021 集训队互测」序列
Problem Link 有一个长为 \(n\) 的未知序列,给定 \(m\) 个限制,每个限制形如给定 \(i,j,k,x\),要求 \(a_i,a_j,a_k\) 的中位数为 \(x\).构造一个 ...