【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.通过文件句 ...
随机推荐
- HDU 1754 线段树入门解题报告
---恢复内容开始--- 题意:给定区间,每个人的成绩, Q次询问,求每次询问区间中的最大值 思路:构造线段树 代码: #include<stdio.h> #include<algo ...
- SQL Server 主库DML操作慢故障处理过程
从某个时间开始,Cat监控到的数据发现,正式环境的Insert 表很慢,数据库用了AlwasON高可用(1个备库做了实时同步),特别是每天早上9:00--11:00,做活动的时候,下单的insert需 ...
- Window Server配置Flask
1.安装了Chrome 2.安装git 3.创建SSH key:ssh-keygen -t rsa -C "youremail@example.com" 4.安装notepad++ ...
- Opencv-Python No module named 'cv2.cv2'
关于 No module named 'cv2.cv2'等其他一些问题,一般都是版本不兼容的问题,重装即可. pip uninstall opencv-python 然后 pip install op ...
- Ch07 包和引入 - 练习
1. 编写示例程序,展示为什么 package com.horstmann.impatient 不同于 package com package horstmann package impatien ...
- 网页静态化解决方案-Freemarker demo+语法
1.网页静态化技术Freemarker 1.1为什么要使用网页静态化技术 网页静态化解决方案在实际开发中运用比较多,例如新闻网站,门户网站中的新闻频道或者是文章类的频道. 对于电商网站的商品详细页来说 ...
- C#的抽象类和接口,区别与相似
一.抽象类:抽象类是特殊的类,只是不能被实例化:除此以外,具有类的其他特性:重要的是抽象类可以包括抽象方法,这是普通类所不能的.抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们 ...
- MAC 终端走代理服务器
问题描述: MAC 终端,默认不走代理服务器:即浏览器已经可以FQ,但是终端不行: 解决方案:直接设置终端的代理,本文 用的是 shadowSocksX: 打开终端,直接执行:(执行后,只对当前终端起 ...
- redis的 rdb 和 aof 持久化的区别
aof,rdb是两种 redis持久化的机制.用于crash后,redis的恢复. rdb的特性如下: Code: fork一个进程,遍历hash table,利用copy on write,把整个d ...
- C# List<T>排序
list<string>排序.list<int>排序 strList = strList.OrderBy(o => double.Parse(o)).ToList(); ...