python基础(十):集合的使用(上)
集合的作用
- 去重:把一个列表变成集合,就自动去重了。
- 关系测试:测试两组数据之前的交集、差集、并集等关系。
集合的特征
- 集合使用 set 表示;
- 集合也使用{ }表示, 与字典不同的是:字典中存储的是键值对,集合中存储的是单一的元素;
- 注意 1:x = { }表示的是空字典,不表示集合;
- 注意 2:x = set()可以创建空集合;
- 集合中不含有重复元素,集合自动过滤重复元素;
>>> x = {1,2,3,1,2,3}
>>> len(x)
3
>>> x
{1, 2, 3}
- 集合中的元素----无序性
- 集合中元素类型,必须是可哈希类型;
- 一个对象在其生命周期内,如果保持不变,就是 hashable(可哈希的),像 tuple和 string 是可哈希的, list、 set和 dictionary 都是不可哈希的。
>>> x = {[1,2,3],4}
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'
>>> y = [(1,2,3),4]
>>> y
[(1, 2, 3), 4]
- 集合的底层,就是以字典中的 key 来实现的, 集合中的元素就会成为字典的key,然后绑定一个固定的值, 因此,集合与字典具有很大的相似性;
- 在集合中:x = {1,2,3}
- 在字典中:x = {1:None, 2:None, 3:None}
集合比较运算
==:两个集合中元素是否一致
>>> s = {1,2,3,4,5}
>>> t = {4,5,6,7}
>>> u = {1,2,3,4,5}
>>> s == t
False
>>> s == u
True
>、 >=、 < 、 <=:父集、子集比较
>>> s = {1,2,3,4,5}
>>> t = {4,5,6,7}
>>> u = {1,2,3}
>>> s > t
False
>>> s > u
True
>>> u < t
False
>>> u < s
True
注:若 A > B,则 A 是 B 的父集, A 是 B 的子集;
is、 is not:比较两个集合是否是同一个对象
>>> s = {1,2,3}
>>> t = s.copy()
>>> t
{1, 2, 3}
>>> s == t
True
>>> s is t
False
集合推导式:可以自动去重
>>> s = {i for i in range(10)}
>>> s
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
>>> t = {i for i in [1,2,3,4,2,3]}
>>> t
{1, 2, 3, 4}
集合运算
这里可能会涉及到部分函数,如果现在不懂,不着急,我们将在后面为大家一一说明。
in:判断某个元素是否在集合中,是返回 True,否返回 False
>>> s = {1,2,3,4}
>>> 2 in s
True
>>> 6 in s
False
&:返回两个元素的交集,相当于 s.intersection(t)
>>> s = {1,2,3,4,5}
>>> t = {4,5,6,7}
>>> s & t
{4, 5}
|:返回两个元素的并集,相当于 s.union(t)
>>> s = {1,2,3,4,5}
>>> t = {4,5,6,7}
>>> s | t
{1, 2, 3, 4, 5, 6, 7}
-:返回两个元素的差集, 相当于 s.difference(t)
>>> s = {1,2,3,4,5}
>>> t = {4,5,6,7}
>>> s - t
{1, 2, 3}
^:返回两个元素的对称差集, 相当于 s.symmetric_difference(t)
>>> s = {1,2,3,4,5}
>>> t = {4,5,6,7}
>>> s ^ t
{1, 2, 3, 6, 7}
python基础(十):集合的使用(上)的更多相关文章
- python基础数据类型--集合(set)
python基础数据类型--集合(set) 集合是一个数学概念由一个或多个确定的元素所构成的整体叫做集合 集合中的三个特征 1.确定性(元素必须死可hash) 2.互异性(去重) 3.无序性(集合中的 ...
- Python基础-week03 集合 , 文件操作 和 函数详解
一.集合及其运算 1.集合的概念 集合是一个无序的,不重复的数据组合,它的主要作用如下 *去重,把一个列表变成集合,就自动去重了 *关系测试,测试两组数据之前的交集.并集.差集.子集.父级.对称差集, ...
- python 基础(十) 面向对象
面向对象 一.概念 类(class): 用来描述具有相同属性和方法的对象的集合 对象是类的实例化 类变量:类变量在整个实例化的对象中是共用的.定义在类中 并且是函数体外的 实例变量:只能作用于 当前类 ...
- Python基础(三)——集合、有序 无序列表、函数、文件操作
1.Set集合 class set(object): """ set() -> new empty set object set(iterable) -> n ...
- python基础——数字&集合&布尔类型
Python的核心数据类型 内置对象 对象类型 例子 数字 123,3.1415,3+4j,Decimal(小数),Fraction(分数) 字符串 'dodo',"guido's" ...
- 01.Python基础-3.集合容器
1 列表list 1.1 列表介绍 Python内置的一种数据类型是列表:list. 有序的集合,可随时添加和删除其中的元素. 每个元素都分配一个数字 --它的位置,或索引.0,1,2,3-- 可存放 ...
- python基础-3 集合 三元运算 深浅拷贝 函数 Python作用域
上节课总结 1 运算符 in 字符串 判断 : “hello” in "asdasfhelloasdfsadf" 列表元素判断:"li" in ['li', ...
- python基础dict,集合,文件
字典是一种key:value的数据类型dict1{ 'stud1':'孙礼昭', 'stud2':'slz', 'stud3':'sunlizhao',}dict是无序的,key是唯一的 天生去重增 ...
- python 基础 set 集合类型补充
为啥今天又重提这个数据类型呢?平时用的少,等要用起来的时候才发现,自己对这块啥都不知道了,so,今天就把这块再梳理一下咯. 一.set集合,是一个无序且不重复的元素集合.这一点是非常重要的. 二.集合 ...
- Python基础知识2-内置数据结构(上)
分类 数值型 用浮点型的时候注意别和"=="一起使用. 数字的处理函数 注意round()函数的特殊:四舍六入五取偶 类型判断 列表list 列表list定义 初始化 列表索引访 ...
随机推荐
- uniapp 在h5和小程序上使用高德获取用户城市位置
开发文档 https://lbs.amap.com/api 错误状态 https://lbs.amap.com/api/webservice/guide/tools/info/ 虽然用的高德但是你还需 ...
- 为什么说NGK的去中心化预言机越来越受欢迎?
2020年区块链市场非常火热,从年初的交易所杠杆,到Defi热潮,一波连着一波,风向不断切换,很多人无奈感叹跟不上时代,很多人欢欣雀跃登上了早班车.随着Defi的不断火热,预言机也进入了大众视野.NG ...
- C# NOPI 项目实战(经典)(可下载项目源码)
1 -.首先说明下项目目的: 之前我有写过一篇 "NPOI操作EXCEL" 这篇文章主要介绍了如何安装NPOI,以及NPOI具体如何使用,并且用具体实例介绍了excel导入到da ...
- mbatis中的#{}和${}
#{}和${}的区别是什么?a.#{}是预编译处理,${}是字符串替换. b.Mybatis 在处理#{}时,会将 sql 中的#{}替换为?号,调用 PreparedStatement 的 set ...
- SpringCloud Stream
1.介绍 官网:https://www.springcloud.cc/spring-cloud-dalston.html#_spring_cloud_stream 1.1定义 是一个构建消息驱动微服务 ...
- vue-axios插件、django-cors插件、及vue如何使用第三方前端样式库:element/jQuery/bootstrap
目录 一.vue的ajax插件:axios 1.安装axios 2.axios参数 二.CORS跨域问题(同源策略) 1.Django解决CORS跨域问题方法 三.前端请求携带参数及Django后台如 ...
- AWS Switching to an IAM role (AWS CLI)
一,引言 今天额外分享一篇 AWS 的技术内容,需要在 EC2 切换到跨账号 IAM 角色(AWS CLI).假设我们使用两个 AWS 账户,A账号,B账号.我们希望允许 A 账号用于 "i ...
- AJAX 相关参数详细说明
最近ajax的使用十分频繁,对其许多参数还不是很了解,特此总结. 通用写法 1 $.ajax({ 2 url: "http://www.hzhuti.com", //请求的url地 ...
- MySQL 多表查询与事务的操作
表连接查询 什么是多表查询 # 数据准备 # 多表查询的作用 * 比如:我们想查询孙悟空的名字和他所在的部门的名字,则需要使用多表查询 # 如果一条 SQL 语句查询多张表,因为查询结果在多张不同的表 ...
- 使用 .NET CLI 构建项目脚手架
前言 在微服务场景中,开发人员分配到不同的小组,系统会拆分为很多个微服务,有一点是,每个项目都需要单元测试,接口文档,WebAPI接口等,创建新项目这些都是重复的工作,而且还要保证各个项目结构的大体一 ...