Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)

目录:

一、列表
1、列表推导式的基本格式
2、执行流程
2、推导练习
二、元组
1、元组的基本格式
2、访问元组
3、元组的合并和重复
4、访问多维元组
5、使用多个变量接受元组中的值
6、修改元组
7、元组一个逗号的魅力
8、tuple()函数
9、元组中的方法
10、遍历元组、元组中的方法
11、元组的应用场景
三、字典
1、什么是字典
2、创建字典的两种方式
3、字典的方法
4、字典的常见操作
四、集合
1、什么是集合
2、集合的操作(增删改查)
3、集合的数学运算
4、集合的运用场景

Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)
整理不易,各位看官,点个赞收藏、关注必回关、QAQ、您的点赞是我更新的最大动力!

Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)
1. 推导式定义
推导式,就是设置了一定条件的一个 Python 表达式,可以根据表达式自动推导生成对应 的 Python 对象 通常情况下根据生成对象的不同
推导式区分为:
列表推导式,集合推导式,字典推导式
2.为什么要用推导式
推导式可以包含基本的处理条件和循环结构,并且可以让循环结构进行嵌套完成浮渣的操作,能在代码的语法上对原来繁琐的代码进行优化,同时提高了代码的可读性,所以我们使用推导式
3.什么时候用推导式
如果按照条件生存少量数据的列表/集合/字典,可以使用推导式进行操作,将数据生成后再程序的变量中,但是一旦涉及到大量数据操作的时候-禁止使用

一、列表

  • 列表推导式(list comprehension)是利用其它类表创建新列表的一种方式
  • 工作原理类似 for 循环,可对得到的元素进行转换或者筛选

1、列表推导式的基本格式

  • 变量名=[表达式 for 变量 in 列表] 或者
  • 变量名= [表达式 for 变量 in 列表 if 条件]

2、执行流程

  • 遍历出列表中的内容给变量,表达式根据变量值进行逻辑运算
    或者遍历列表中的内容给变量,然后进行判断,符合的值在给表达式

3、推导练习

练习1:将 lst 中每一个元素进行平方后放入到一个新列表中
lst = [1, 2, 3, 4, 5]
第一种方式:
Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)
第二种方式:使用 函数
Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)

练习 2.求出 lst 中是奇数的值,然后放入到一个新列表中
Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)

练习 3.求列表中所有大于 2 的偶数进行平方计算
Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)

练习 4.将一个嵌套列表转换成一个一维列表
lst = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
转换成:lst2=[1, 2, 3, 4, 5, 6, 7, 8, 9]
使用列表推导式
Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)
使用普通嵌套 for 循环
Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)

练习 5:现在有一列表 lst = [[1,2,3],[4,5,6],[7,8,9]]要求出 1/4/7 和 1/5/9 元素,思考如何取 出
lst = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)
使用 for 循环
#1,4,7
Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)
#1,5,9
Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)
使用列表推导式
Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)
Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)

面试题:求 a0,a1,a2的值
Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)
返回文章目录

二、元组

1、元组的基本格式

  • 元组是一个不可修改的,元素以逗号分隔的以小括号包围的有序序列
  • 格式: 变量名 = (元素1、元素2、…)

练习:创建元组并打印元组内容和类型
Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)
2、访问元组

访问元组和访问列表一样,都可以使用索引和切片来获取元素
练习1:通过索引获取‘ls’元素
Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)
练习2:使用for循环获取所有元素
Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)

练习3:使用切片获取(‘ls’,’zs’)子元组
Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)

3、元组的合并和重复

因为元组也是有序的序列,因此支持合并“+”和重复“*”
Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)
4、访问多维元组

多维元组:元组中的元素还是元组
练习:获取元组中的‘张飞’元素
Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)

5、使用多个变量接受元组中的值

格式: 变量 1,变量 2,…=(元素 1,元素 2,…)
Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)
Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)

6、修改元组

说明:Python 中不允许修改元组的数据,包括不能删除其中的元素 如果元素本身是一个可变数据类型的列表,那么其嵌套项可以被改变
Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)
Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)

7、元组一个逗号的魅力

如果元组中只有一个值,如果没有逗号,变量的类型就是值的类型
如果有逗号,则表示元组类型
Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)

8、tuple()函数

tuple 函数的功能与 list 函数基本上一样的,以一个序列作为参数并把它转换为元组,如果参 数是元组,那么该参数就会被原样返回
Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)

9、元组中的方法

Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)

10、遍历元组、元组中的方法

遍历一维列表
Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)
遍历二维元组
Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)
Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)
enumerate()内置函数
for循环每遍历一次enumerate()函数返回一个元组(index,value),索引从0开始
Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)

11、元组的应用场景

元组用在项目中固定数据声明,如一年四季、首页菜单,宫廷游戏官位 为什么要用元组? 为了让某些数据在程序运行过程中不能修改,提升程序的稳定性

返回文章目录


三、字典

1、什么是字典
字典是项目开发过程中使用频率最高的一个组合数据类型。它用于存放具有映射关系的数据。 比如有份成绩表数据,语文:79,数学:80,英语:92,这组数据看上去像两个列表,但这 两个列表的元素之间有一定的关联关系。如果单纯使用两个列表来保存这组数据,则无法记 录两组数据之间的关联关系。为了保存具有映射关系的数据,Python 提供了字典,字典相 当于保存了两组数据,其中一组数据是关键数据,被称为 key;另一组数据可通过 key 来 访问,被称为 value。形象地看,字典中 key 和 value 的关联关系如图所示:

Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)

2、创建字典的两种方式

  • 2.1 使用花括号语法来创建字典
    在使用花括号语法创建字典时,花括号中应包含多个 key-value 对,key 与 value 之间用英 文冒号隔开;多个 key-value 对之间用英文逗号隔开 如下代码示范了使用花括号语法创建字典:
    Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)

  • 2.2 使用系统内置的 dict()创建字典
    dict()内置函数可以创建一个空字典、或者通过列表+元组的形式或者元组+元组形式创建一 个字典,或者通过关键字来创建一个字典
    Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)
    Python中使用 dict表示字典,dict 要求 key 必须是不可变类型
    Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)
    字典的 value 值可以是任意数据类型
    Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)
    key 不允许重复
    由于字典中的key是非常关键的数据,而且程序需要通过key来访问value,一旦字典的key重复了,相当于给这个key重新赋值
    Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)
    应用场景:
    当保存一些事物的信息的时候我看可以使用字典格式,例如用户的信息 练习:创建一个字段保存个人信息,并且打印个人信息和变量类型
    Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)

3、字典的方法(增删改查)

  • 3.1 增加操作
方法 描述
变量名[key]=value 通过key添加value值,如果key存在则覆盖
setdefault(key,default_value) 指定key和value,如果key存在则不覆盖
  • 3.2删除操作
方法 描述
pop 弹出,返回并删除指定键对应的值dict.pop(‘key’)
popitem 随机弹出一个键值元组,这里随机的原因是因为字典无序
clear 清空字典
del 删除整个字典,或者通过字典的key删除对应键值对;Python内置方法,不是字典独有的方法;
  • 3.3修改操作
方法 描述
字典名[key]=value 通过key添加value值,如果key存在则覆盖
update() 传递一个字典,如果key相同则覆盖,没有的key则添加
  • 3.4 查找操作
方法 描述
根据key查找 通过制定的key找对应的值dict[‘key’]
keys 包含字典所有key的dict_keys对象,该对象可以转换为列表
values 包含字典所有的value的dict_keys对象,该对象可以转换为列表
get 以键取值,如果指定键不存在,默认返回None,可以指定返回内容
update 以字典格式更新指定键的内容,如果键不存在,创建键和值
items 返回字典键值呈元组形式的格式
len 测量字典,键值对的个数(整体)

4、字典的常见操作

Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)

返回文章目录


四、集合

返回文章目录
1、什么是集合
  • 集合是盛放多个数据的一种类型。集合中的元素是无序的,唯一的、不可改变类型
  • 可以使用大括号 { } 或者 set() 函数创建集合
  • 格式:
       (1). 变量名={元素 1,元素 2,元素 3,…}
       (2). 变量名=set(序列) 例如 变量名=set(元组,自动,字符串)
  • 注意事项:
      1.创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典   2.集合中的元素必须是不可修改类型

练习 1:创建集合并且查看内容和类型 
Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)
2、集合的操作(增删改)

  • 2.1 增加操作
    方法: add() 和 update()
    Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)

  • 2.2 删除操作
    pop、remove、clear、del
    Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)

  • 2.3 查询操作
    Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)

3、集合的数学运算

  • 1.交集(& 或者 intersection)取公共部分
  • 2.并集 (| 或者 union) 取去除重复部分内容
  • 3.差集 (- 或者 difference)取 set1 或者 set2 中除去公共部分的内容
  • 4.反交集 (^ 或者 symmetric_difference)
  • 5.子集 (< 或者 issubset)
  • 6.超集 (> 或者 issuperset)
    Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)
    Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)
    Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)
    Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)
    Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)
    Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)
    练习 1:去除列表中重复的内容
    Python_组合数据类型_进阶_推导式_元组_字典_集合_练习(5)

4、集合的运用的场景

由于元素在集合中只能存储一次,集合 (set) 可以用来把重复项从其他数据类型中过滤掉。 直接把其他类型 转换为一个集合 (set) ,然后再转换回来即可

笔试题:
现有如下数据 lst = [1, 1, 5, 2, 6, 10, 9, 8, 8, 9, 2, 3] 请按照自己的思路将上述列表中的数据,完成重复数据的剔除,并按照自然顺序排序展示


返回文章目录