一、散列类型

  散列类型用来表示无序的集合类型

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基础-基本数据类型(三)的更多相关文章

  1. Python基础之数据类型

    Python基础之数据类型 变量赋值 Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程. 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息. 每个变量在使用前都必须赋值 ...

  2. Python基础语法(三)

    Python基础语法(三) 1. 数值型数据结构 1.1 要点 在之前的博客也有提到,数值型数据结构在这里就不过多介绍了.在这里提及一些需要知道的知识点. int.float.complex.bool ...

  3. 第二章:python基础,数据类型

    """第二章:python基础,数据类型2.1 变量及身份运算补充2.2 二进制数2.3 字符编码每8位所占的空间位一个比特,这是计算机中最小的表示单位.每8个比特组成一 ...

  4. python基础一数据类型之字典

    摘要: python基础一数据类型之一字典,这篇主要讲字典. 1,定义字典 2,字典的基础知识 3,字典的方法 1,定义字典 1,定义1个空字典 dict1 = {} 2,定义字典 dict1 = d ...

  5. python基础篇(三)

    PYTHON基础篇(三) 装饰器 A:初识装饰器 B:装饰器的原则 C:装饰器语法糖 D:装饰带参数函数的装饰器 E:装饰器的固定模式 装饰器的进阶 A:装饰器的wraps方法 B:带参数的装饰器 C ...

  6. 第三篇:python基础之数据类型与变量

    阅读目录 一.变量 二.数据类型 2.1 什么是数据类型及数据类型分类 2.2 标准数据类型: 2.2.1 数字 2.2.1.1 整型: 2.2.1.2 长整型long: 2.2.1.3 布尔bool ...

  7. 第一节 Python基础之数据类型(整型,布尔值,字符串)

    数据类型是每一种语言的基础,就比如说一支笔,它的墨有可能是红色,有可能是黑色,也有可能是黄色等等,这不同的颜色就会被人用在不同的场景.Python中的数据类型也是一样,比如说我们要描述一个人的年龄:小 ...

  8. python基础(二)----数据类型

    Python基础第二章 二进制 字符编码 基本数据类型-数字 基本数据类型-字符串 基本数据类型-列表 基本数据类型-元组 可变.不可变数据类型和hash 基本数据类型-字典 基本数据类型-集合 二进 ...

  9. Python学习day04 - Python基础(2)数据类型基础

    <!doctype html>day04 - 博客 figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { ...

  10. python 基础之数据类型

    一.python中的数据类型之列表 1.列表 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 二.列表常用操作 >切片>追加>插入>修改& ...

随机推荐

  1. 【freertos】002-posix模拟器设计与cortex m3异常处理

    目录 前言 posix 标准接口层设计 模拟器的系统心跳 模拟器的task底层实质 模拟器的任务切换原理 cortex M3/M4异常处理 双堆栈指针 双操作模式 栈帧 EXC_RETURN 前言 如 ...

  2. [MRCTF]XOR-无法生成反汇编的处理

    主程序,无法生成伪代码 由此分为两种方法即: 直接看反汇编 解决问题,尝试生成伪代码 硬啃汇编 输入与输出 判断输入长度是否为0x1B,其中al为eax的低8位 将输入的字符每个与当前字符所在下标异或 ...

  3. RabbitMQ入门到进阶(Spring整合RabbitMQ&SpringBoot整合RabbitMQ)

    1.MQ简介 MQ 全称为 Message Queue,是在消息的传输过程中保存消息的容器.多用于分布式系统 之间进行通信. 2.为什么要用 MQ 1.流量消峰 没使用MQ 使用了MQ 2.应用解耦 ...

  4. 什么是Netflix Feign?它的优点是什么?

    Feign是受到Retrofit,JAXRS-2.0和WebSocket启发的java客户端联编程序.Feign的第一个目标是将约束分母的复杂性统一到http apis,而不考虑其稳定性.在emplo ...

  5. SpringBoot的 Actuator 是做什么的?

    本质上,Actuator 通过启用 production-ready 功能使得 SpringBoot 应用程序变得更有生命力.这些功能允许我们对生产环境中的应用程序进行监视和管理. 集成 Spring ...

  6. Shiro集成多个Realm,认证都不通过返回y configured realms. Please ensure that at least one realm can authenticate these tokens.

    异常内容:Authentication token of type [class org.apache.shiro.authc.UsernamePasswordToken] could not be ...

  7. Mybatis入门程序(一)

    1.入门程序实现需求 根据用户id查询一个用户信息 根据用户名称模糊查询用户信息列表 添加用户(二) 更新用户(二) 删除用户(二) 2.引入Mybatis所需 jar 包(Maven工程) < ...

  8. openldap 资料

    LDAP概念和原理介绍 相信对于许多的朋友来说,可能听说过LDAP,但是实际中对LDAP的了解和具体的原理可能还比较模糊,今天就从"什么是LDAP"."LDAP的主要产品 ...

  9. 插值方法 - Newton多项式(非等距节点)

    不多话.Nowton插值多项式(非等距节点)代码: 1 # -*- coding: utf-8 -*- 2 """ 3 Created on Wed Mar 25 15: ...

  10. IMWebConf 2017 官网彩蛋解谜

    前言 IMWebConf 2017 ←这是官网 然后看到了这个: 所以就试了下,作为一个前端菜鸟,发现通关还挺简单的,不过每个方面的知识都涉及到一点,所以在这里总结一下. 下面进入正题. 第 0 关 ...