python基础-基本数据类型(三)
一、散列类型
散列类型用来表示无序的集合类型
1、集合(set)
Python中的集合与数学符号中的集合类似,都是用来表示无序不重复元素的集合。
1.1 集合的定义
集合使用一对{}来进行定义,集合中的元素必须是不可变类型。
a = {1,2,3,4}
注意空集合是用set()来表示。
a{}表示空字典
1.2 集合的常用操作
1.2.1 添加元素
集合添加元素常用方法有两个:add和update
set.add(obj),向集合中添加元素obj,集合中元素不存在则添加,存在则不添加
a = {1,2,3}
a.add(4)
print(a)
{1,2,3,4}
set.update({iterable}),向集合中添加多个元素,集合中不存在则添加,存在则不添加
a.update({1,3,4})
{1,2,3,4}
1.2.2 删除元素
set.pop(),随机删除并返回一个集合中的元素,集合中元素为空则报错
a = {1,2,3,4,5}
b = a.pop()
print(a,b)
{2,3,4,5} 1
set.remove(ele)从集合中删除元素ele,如果不存在则抛出异常
set.remove(2)
{1,3,4,5}
set.discard(ele),从集合中删除元素ele,如果不存在则不做任何操作
set.discard(3)
{1,2,4,5}
set.clear(),清空集合
a.clear()
print(a)
set()
1.2.3 集合运算
| 数学符号 | python 运算符 | 含义 | 定义 |
|---|---|---|---|
| ∩ | & | 交集 | 一般地,由所有属于 A 且属于 B 的元素所组成的集合叫做 AB 的交集。 |
| ∪ | | | 并集 | 一般地,由所有属于集合 A 或属于集合 B 的元素所组成的集合,叫做 AB 的并集 |
| -或\ | - | 相对补集/差集 | A-B,取在 A 集合但不在 B 集合的项 |
| ^ | 对称差集/反交集 | A^B,取只在 A 集合和只在 B 集合的项,去掉两者交集项 |
交集:既属于A又属于B
a = {1,2,3}
b = {2,3,4}
c = a&b
print(c) {2,3}
并集:集合A与集合B的所有元素的集合
a = {1,2,3}
b = {2,3,4}
c = a|b
print(c) {1,2,3,4}
补集:取在集合A中但不在集合B中的元素的集合叫做A相对B的补集
a = {1,2,3}
b = {2,3,4}
c = a-b
print(c) {1}
对称差集:取不在A,B集合交集中的所有元素组成的集合,又叫反交集
a = {1,2,3}
b = {2,3,4}
c = a^b
print(c) {1,4}
1.3 集合去重
集合具有去重的性质,因此可以利用集合来给序列去重
ls = [1,1,2,2,3,4,4]
ls1 = list(set(ls))
print(ls1)
[1,2,3,4]
2、字典
2.1 字典的定义
字典使用一对大括号进行定义,括号中使用键值对的形式来表示,键值对之间使用逗号隔开,键与值之间使用冒号隔开
字典中的键必须是不可变类型,且不会重复,值可以是任意数据类型。
2.2 字典的索引
字典通过键值对的键来作为索引获取对应的值。字典中的键是无序的。
a = {1:2,(1,2):'lihailang'}
b = a[1]
print(b)
2
2.3 字典的常用操作
2.3.1 增加元素
1、字典可以通过key直接赋值的方式添加元素,如果key存在则直接修改字典
a = {'name':'zhangsan'}
a['age'] = 18
print(a)
{'name':'zhangsan','age':18}
2、dict.update(new_dict)将新的字典合并到旧字典中
a.update({'sex':'男'})
{'name':'zhangsan','age':18,'sex':'男'}
当键存在时修改键值
2.3.2 修改元素
直接通过key赋值的方式进行修改即可,如果key不存在则添加
2.3.3 删除元素
1、dict.pop(key[,d]),删除指定的key对应的值,如果d不存在则返回d,如果没有指定d,则抛出异常。
a = {'name':'zhangsan','age':18,'sex':'男'}
a.pop('name')
{'age':18,'sex':'男'}
2、dict.popitem(),任意删除字典中的一对键值对,并以二元元组的形式返回
a = {'name':'zhangsan','age':18,'sex':'男'}
b = a.popitem()
print(a,b)
{'name':'zhangsan','age':18} ('sex', '男')
2.3.4 查询元素
通过key索引可以直接查询键值对的值,如果key不存在则抛出异常
a = {'name':'zhangsan','age':18,'sex':'男'}
print(a['name'])
zhangsan
二、其他类型
1、布尔型
条件表达式返回的结果就是布尔型数据,布尔型数据类型只有两种,True和False两种类型,表示真和假
1.1 比较运算符
| 运算符 | 描述 | 实例 |
|---|---|---|
| == | 等于-比较对象是否相等 | print(a==b) # False |
| is | 等于-比较对象的内存地址是否相同 | print(a is b) |
| != | 不等于 | print(a!=b) # True |
| > | 大于 | print(a>b) # False |
| < | 小于 | print(a<b) # True |
| >= | 大于等于 | print(a>=b) # False |
| <= | 小于等于 | print(a<=b) # True |
1.2 成员运算符
| 运算符 | 描述 | 实例 |
|---|---|---|
| in | 如果在指定的序列中找到值返回 True,否则 False | L = [1, 2, 3, 4, 5] a = 3 print(a in L) # True |
| not in | 如果在指定的序列中没有找到值返回 True,否则 False | print(a not in L) # False |
1.3 布尔型运算
布尔型数据可以喝数值类型和进行运算,True表示1,False表示-1
1.4 布尔类型转换
任意数据都可以根据函数bool转换成布尔型
在python中,整数,None,浮点数,复数,空字符串,空列表,空字典,空元祖,空集合的布尔值都为False,其他都为True
1.5 逻辑运算符
| 运算符 | 描述 | 实例 |
|---|---|---|
| and | 与,如果 x 为 False,x and y 返回 x 的值,否则返回 y 的值 | print(a and b) # True |
| or | 或,如果 x 为 True,x and y 返回 x 的值,否则返回 y 的值 | print(a or b) # True |
| not | 非,如果 x 为 True,返回 False,反之,返回 True | print(not a) # False |
逻辑运算符两边的表达式不是布尔型时,在运算前会转换为布尔型。
2、None
None在Python中表示特殊的数据类型,他的值就是它本身为空。表示不存在
python基础-基本数据类型(三)的更多相关文章
- Python基础之数据类型
Python基础之数据类型 变量赋值 Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程. 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息. 每个变量在使用前都必须赋值 ...
- Python基础语法(三)
Python基础语法(三) 1. 数值型数据结构 1.1 要点 在之前的博客也有提到,数值型数据结构在这里就不过多介绍了.在这里提及一些需要知道的知识点. int.float.complex.bool ...
- 第二章:python基础,数据类型
"""第二章:python基础,数据类型2.1 变量及身份运算补充2.2 二进制数2.3 字符编码每8位所占的空间位一个比特,这是计算机中最小的表示单位.每8个比特组成一 ...
- python基础一数据类型之字典
摘要: python基础一数据类型之一字典,这篇主要讲字典. 1,定义字典 2,字典的基础知识 3,字典的方法 1,定义字典 1,定义1个空字典 dict1 = {} 2,定义字典 dict1 = d ...
- python基础篇(三)
PYTHON基础篇(三) 装饰器 A:初识装饰器 B:装饰器的原则 C:装饰器语法糖 D:装饰带参数函数的装饰器 E:装饰器的固定模式 装饰器的进阶 A:装饰器的wraps方法 B:带参数的装饰器 C ...
- 第三篇:python基础之数据类型与变量
阅读目录 一.变量 二.数据类型 2.1 什么是数据类型及数据类型分类 2.2 标准数据类型: 2.2.1 数字 2.2.1.1 整型: 2.2.1.2 长整型long: 2.2.1.3 布尔bool ...
- 第一节 Python基础之数据类型(整型,布尔值,字符串)
数据类型是每一种语言的基础,就比如说一支笔,它的墨有可能是红色,有可能是黑色,也有可能是黄色等等,这不同的颜色就会被人用在不同的场景.Python中的数据类型也是一样,比如说我们要描述一个人的年龄:小 ...
- python基础(二)----数据类型
Python基础第二章 二进制 字符编码 基本数据类型-数字 基本数据类型-字符串 基本数据类型-列表 基本数据类型-元组 可变.不可变数据类型和hash 基本数据类型-字典 基本数据类型-集合 二进 ...
- Python学习day04 - Python基础(2)数据类型基础
<!doctype html>day04 - 博客 figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { ...
- python 基础之数据类型
一.python中的数据类型之列表 1.列表 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 二.列表常用操作 >切片>追加>插入>修改& ...
随机推荐
- loj#6072 苹果树(折半搜索,矩阵树定理,容斥)
loj#6072 苹果树(折半搜索,矩阵树定理,容斥) loj 题解时间 $ n \le 40 $ . 无比精确的数字. 很明显只要一个方案不超过 $ limits $ ,之后的计算就跟选哪个没关系了 ...
- 半吊子菜鸟学Web开发 -- PHP学习2-正则,cookie和session
1正则表达式 1.1基本的匹配字符串 $p = '/apple/'; $str = "apple banna"; if (preg_match($p, $str)) { echo ...
- 详细描述一下 Elasticsearch 搜索的过程?
想了解 ES 搜索的底层原理,不再只关注业务层面了. 解答: 搜索拆解为"query then fetch" 两个阶段. query 阶段的目的:定位到位置,但不取. 步骤拆解如下 ...
- Spring Boot 自动配置原理是什么?
注解 @EnableAutoConfiguration, @Configuration, @ConditionalOnClass 就是自动配置的核心,首先它得是一个配置文件,其次根据类路径下是否有这个 ...
- Mybatis 是如何进行分页的?分页插件的原理是什么?
Mybatis 使用 RowBounds 对象进行分页,它是针对 ResultSet 结果集执行的内 存分页,而非物理分页.可以在 sql 内直接书写带有物理分页的参数来完成物理分 页功能,也可以使用 ...
- Oracle入门基础(十)一一数据库其他对象-视图/序列/索引/同义词
SQL> --视图 SQL> create view empinfoview as select e.empno,e.ename,e.sal,e.sal*12 annsal,d.dname ...
- selenium 模块使用
selenium 概念:基于浏览器自动化的一个模块,可以模拟浏览器行为 环境的安装:下载selenium模块 selenium和爬虫之间的关联是什么? 便捷的获取页面中动态加载的数据 requests ...
- SpringAop实现原理及代理模式
Spring Aop的原理 Spring的AOP就是通过动态代理实现的.当为某个Bean或者某些Bean配置切面时,Spring会为其创建代理对象,当调用该对象的某个方法时,实际是调用生成的代理类的对 ...
- js 关于setTimeout和Promise执行顺序问题
js 关于setTimeout和Promise执行顺序问题 异步 -- Promise和setTimeout 执行顺序 Promise 和 setTimeout 到底谁先执行 定时器的介绍 Jav ...
- MEVN 架构(MongoDB + Express + Vue + NODEJS)搭建
一个完整的网站服务架构包括:1.web frame ---这里应用express框架2.web server ---这里应用nodejs3.Database ---这里应用monggoDB4.前端展示 ...