【python 3】 集合方法操作汇总
基本数据类型 : set
集合(set)特点 :
- 无序
- 不能重复(自动去重)
- 用 {} 或 set()函数 来表示集合
- 空集合 : set()
1 name = {"江户部柯南","基德","灰原哀","工藤新一"}
2 name1 = set(["江户部柯南","基德","灰原哀","工藤新一"])
3 print(type(name),type(name1))
运行结果 :
<class 'set'> <class 'set'>
1.1 新增
- set.add("m") 将元素m添加到集合末尾(无返回值)
- set.update("m") 将元素m逐个字符插入到集合中(无返回值)
### 新增集合 add() update()
1 name = {"江户部柯南","基德","灰原哀","工藤新一"}
2 name.add("服部平次") ### 添加元素“服部平次”
3 print(name)
4
5 a = name.update("服部平次") ### 将“服部平次”逐个插入到集合中
6 print(a,name)
1.2 删除
- set.remove("e") 根据元素名删除
- set.pop() 随机删除一个元素
- del 列表名 删除整个集合
- set.clear() 清空集合中的所有元素
### 删除集合 remove() pop() del clear()
1 name = {"江户部柯南","基德","灰原哀","工藤新一"}
### 删除元素“基德”
3 name.remove("基德")
4 print(name)
### 随机删除一个元素
6 name.pop()
7 print(name)
### 将集合name删除
9 del name
10 print(name)
### 清空集合中的元素
12 name.clear()
13 print(name)
1.3 去重、求交集、差集、并集、超集
- set() 可用于字符串、列表、集合去除重复的元素
1 name_set = {"江户部柯南","基德","灰原哀","江户部柯南","工藤新一"}
2 name_list = ["江户部柯南","基德","灰原哀","江户部柯南","工藤新一"]
### 去除重复的元素
4 print(set(name_set))
5 print(set(name_list))
运行结果:
{'灰原哀', '江户部柯南', '基德', '工藤新一'}
{'灰原哀', '江户部柯南', '基德', '工藤新一'}
- & / 集合名1.intersection(集合名2) : 求两个集合的交集
### 求交集 & 、 set.intersection(set2)
1 set1 = {1,2,3,4}
2 set2 = {3,4,5,6}
# 法一:
4 print(set1 & set2)
# 法二:
6 print(set1.intersection(set2)) 运行结果:
{3, 4}
{3, 4}
- ^ / 集合名1.symmetric_difference(集合名2) : 求两个集合的反交集
### 求反交集 ^ 、 集合名1.symmetric_difference(集合名2)
1 set1 = {1,2,3,4,5}
2 set2 = {4,5,6,7,8}
# 法一:
4 print(set1 ^ set2)
# 法二:
6 print(set1.symmetric_difference(set2))
运行结果:
{1, 2, 3, 6, 7, 8}
{1, 2, 3, 6, 7, 8}
- - / 集合名1.difference(集合名2) : 求两个集合的差集
### 求差集 集合1 - 集合2 / 集合名1.difference(集合名2)
1 set1 = {1,2,3,4,5}
2 set2 = {4,5,6,7,8}
# 法一
4 print(set1 - set2)
5 print(set2 - set1)
# 法二
7 print(set1.difference(set2))
8 print(set2.difference(set1)) 运行结果:
{1, 2, 3}
{8, 6, 7}
{1, 2, 3}
{8, 6, 7}
- | / 集合名1.union(集合名2) 求两个集合的并集
### 集合名1 | 集合名2 、 集合名1.union(集合名2)
1 set1 = {1,2,3,4,5}
2 set2 = {4,5,6,7,8}
# 法一
4 print(set1 | set2)
# 法二
6 print(set1.union(set2))
- 集合1.issubset(集合2) 判断集合1是否为集合2的子集
- 集合1.issuperset(集合2) 判断集合1是否为集合2的超集
1 set1 = {1,2,3}
2 set2 = {1,2,3,4,5,6}
3 print(set1 < set2)
4 print(set1.issubset(set2)) #子集
5 print(set1.issuperset(set2)) #超集
可变数据类型 :list[] 、dict{}
不可变数据类型 : int 、 str 、 tuple()
【python 3】 集合方法操作汇总的更多相关文章
- Python中集合的操作
Python集合的基本详情 集合是无序的 集合是可变数据类型 集合属于不可哈希范围 集合自动去重 集合的操作 set1 = {1, 2, 3, 4, 5} set2 = {4, 5, 6, 7, 8} ...
- 【python 3】 列表方法操作汇总
基础数据类型 : list list主要操作:索引.切片.查询.修改.增加.删除.扩展.统计.排序.获取下标.拷贝…… 1.1 索引 由图: list正向下标从0开始 list反向下标从-1开始 ...
- 【python 3】 字符串方法操作汇总
基础数据类型:str 1.1 字符串大小写转换 所有字母大写 : string.upper() 所有字母小写 : string. lower() 第一个单词的第一个字母大写,其他字母小写 : st ...
- 【python 3】 字典方法操作汇总
基础数据类型:tuple 1.1 新增 dic["key"] = value 字典中没有key就添加,有key就覆盖 dic ...
- Python set集合类型操作总结
Python中除了字典,列表,元组还有一个非常好用的数据结构,那就是set了,灵活的运用set可以减去不少的操作(虽然set可以用列表代替) 小例子 1.如果我要在许多列表中找出相同的项,那么用集合是 ...
- 跟着ALEX 学python day3集合 文件操作 函数和函数式编程 内置函数
声明 : 文档内容学习于 http://www.cnblogs.com/xiaozhiqi/ 一. 集合 集合是一个无序的,不重复的数据组合,主要作用如下 1.去重 把一个列表变成集合 ,就自动去重 ...
- Scala 学习笔记之集合(9) 集合常用操作汇总
object CollectionDemo10 { def main(args: Array[String]): Unit = { var ls = List[Int](1, 2, 3) //向后增加 ...
- paip.数组以及集合的操作uapi java php python总结..
paip.数组以及集合的操作uapi 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.net/att ...
- python学习笔记:文件操作和集合(转)
转自:http://www.nnzhp.cn/article/16/ 这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句 ...
随机推荐
- Android系统架构与系统源码目录
前言 技术博客终于可以恢复正常的更新速度了,原因是我编写的进阶书籍的初稿已经完成,窃以为它将会是Android应用书籍中最有深度的一本,可以说是<Android开发艺术探索>的姊妹篇.在这 ...
- C#基础加强(6)之引用相等与运算符重载
引用相等 介绍 在 C# 中可以通过 object.ReferenceEquals(obj1, obj2) 方法来判断两个变量引用的是不是同一个地址,如果是,那么就是引用相等. 引用相等是针对引用类型 ...
- Hadoop多租户架构配置
cloudera manager 进到cluster里面,点击Dynamic Resource Pools,没做任何配置默认情况下,资源池里有个default资源组 hadoop jar /usr/l ...
- LNMP分离式部署
#### LNMP组合工作流程 在LNMP组合工作时,首先是用户通过浏览器输入域名请求Nginx Web服务,如果请求是静态资源,则由Nginx解析返回给用户:如果是动态请求(.php结尾),那么Ng ...
- php魔术变量以及命名空间
魔术变量: PHP 向它运行的任何脚本提供了大量的预定义常量. 不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了. 有八个魔术常量它们 ...
- iOS组件化之路(一)
写在最前 从开始学写代码,胡乱的看书,不懂如何写第一个程序,到开始写出第一个程序,这段道路有些漫长.慢慢开始自己独立的去分析给出的需求,到如何实现,最初的想法只是仅仅实现,到后来懂得如何利用自己技术和 ...
- Java 多线程之Timer与ScheduledExecutorService
1.Timer管理延时任务的缺陷 a.以前在项目中也经常使用定时器,比如每隔一段时间清理项目中的一些垃圾文件,每个一段时间进行数据清洗:然而Timer是存在一些缺陷的,因为Timer在执行定时任务时只 ...
- 【转】Anaconda下安装pyecharts步骤及常见错误
本文转载自:https://blog.csdn.net/skj1995/article/details/81187954 (1)之前看了几篇博客,有人说用cmd命令在目录C:\Users\Admini ...
- sai u 2016
再过20分钟,我就要结束2016年的工作回家过春节了.真是难过的一天啊,从来没有今天那么感受深刻,那么嫌弃时间太慢,没有归家心似箭,没有近乡情怯,只是好想,呵呵,来个午睡,来场电影,来点小说,哈哈哈. ...
- Object.prototype的成员介绍
3.Object.prototype的成员介绍 Object.prototype是js中所有的对象的祖宗 Object.prototype中所有的成员都可以被js中所有的对 ...