目录:
一、列表
1、列表推导式的基本格式
2、执行流程
2、推导练习
二、元组
1、元组的基本格式
2、访问元组
3、元组的合并和重复
4、访问多维元组
5、使用多个变量接受元组中的值
6、修改元组
7、元组一个逗号的魅力
8、tuple()函数
9、元组中的方法
10、遍历元组、元组中的方法
11、元组的应用场景
三、字典
1、什么是字典
2、创建字典的两种方式
3、字典的方法
4、字典的常见操作
四、集合
1、什么是集合
2、集合的操作(增删改查)
3、集合的数学运算
4、集合的运用场景
整理不易,各位看官,点个赞收藏、关注必回关、QAQ、您的点赞是我更新的最大动力!
1. 推导式定义 |
推导式,就是设置了一定条件的一个 Python 表达式,可以根据表达式自动推导生成对应 的 Python 对象 通常情况下根据生成对象的不同 推导式区分为: 列表推导式,集合推导式,字典推导式 |
2.为什么要用推导式 |
推导式可以包含基本的处理条件和循环结构,并且可以让循环结构进行嵌套完成浮渣的操作,能在代码的语法上对原来繁琐的代码进行优化,同时提高了代码的可读性,所以我们使用推导式 |
3.什么时候用推导式 |
如果按照条件生存少量数据的列表/集合/字典,可以使用推导式进行操作,将数据生成后再程序的变量中,但是一旦涉及到大量数据操作的时候-禁止使用 |
一、列表
- 列表推导式(list comprehension)是利用其它类表创建新列表的一种方式
- 工作原理类似 for 循环,可对得到的元素进行转换或者筛选
1、列表推导式的基本格式
- 变量名=[表达式 for 变量 in 列表] 或者
- 变量名= [表达式 for 变量 in 列表 if 条件]
2、执行流程
- 遍历出列表中的内容给变量,表达式根据变量值进行逻辑运算
或者遍历列表中的内容给变量,然后进行判断,符合的值在给表达式
3、推导练习
练习1:将 lst 中每一个元素进行平方后放入到一个新列表中
lst = [1, 2, 3, 4, 5]
第一种方式:
第二种方式:使用 函数
练习 2.求出 lst 中是奇数的值,然后放入到一个新列表中
练习 3.求列表中所有大于 2 的偶数进行平方计算
练习 4.将一个嵌套列表转换成一个一维列表
lst = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
转换成:lst2=[1, 2, 3, 4, 5, 6, 7, 8, 9]
使用列表推导式
使用普通嵌套 for 循环
练习 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]]
使用 for 循环
#1,4,7
#1,5,9
使用列表推导式
面试题:求 a0,a1,a2的值
返回文章目录
二、元组
1、元组的基本格式
- 元组是一个不可修改的,元素以逗号分隔的以小括号包围的有序序列
- 格式: 变量名 = (元素1、元素2、…)
练习:创建元组并打印元组内容和类型
2、访问元组
访问元组和访问列表一样,都可以使用索引和切片来获取元素
练习1:通过索引获取‘ls’元素
练习2:使用for循环获取所有元素
练习3:使用切片获取(‘ls’,’zs’)子元组
3、元组的合并和重复
因为元组也是有序的序列,因此支持合并“+”和重复“*”
4、访问多维元组
多维元组:元组中的元素还是元组
练习:获取元组中的‘张飞’元素
5、使用多个变量接受元组中的值
格式: 变量 1,变量 2,…=(元素 1,元素 2,…)
6、修改元组
说明:Python 中不允许修改元组的数据,包括不能删除其中的元素 如果元素本身是一个可变数据类型的列表,那么其嵌套项可以被改变
7、元组一个逗号的魅力
如果元组中只有一个值,如果没有逗号,变量的类型就是值的类型
如果有逗号,则表示元组类型
8、tuple()函数
tuple 函数的功能与 list 函数基本上一样的,以一个序列作为参数并把它转换为元组,如果参 数是元组,那么该参数就会被原样返回
9、元组中的方法
10、遍历元组、元组中的方法
遍历一维列表
遍历二维元组
enumerate()内置函数
for循环每遍历一次enumerate()函数返回一个元组(index,value),索引从0开始
11、元组的应用场景
元组用在项目中固定数据声明,如一年四季、首页菜单,宫廷游戏官位 为什么要用元组? 为了让某些数据在程序运行过程中不能修改,提升程序的稳定性
返回文章目录
三、字典
1、什么是字典
字典是项目开发过程中使用频率最高的一个组合数据类型。它用于存放具有映射关系的数据。 比如有份成绩表数据,语文:79,数学:80,英语:92,这组数据看上去像两个列表,但这 两个列表的元素之间有一定的关联关系。如果单纯使用两个列表来保存这组数据,则无法记 录两组数据之间的关联关系。为了保存具有映射关系的数据,Python 提供了字典,字典相 当于保存了两组数据,其中一组数据是关键数据,被称为 key;另一组数据可通过 key 来 访问,被称为 value。形象地看,字典中 key 和 value 的关联关系如图所示:
2、创建字典的两种方式
- 2.1 使用花括号语法来创建字典
在使用花括号语法创建字典时,花括号中应包含多个 key-value 对,key 与 value 之间用英 文冒号隔开;多个 key-value 对之间用英文逗号隔开 如下代码示范了使用花括号语法创建字典: - 2.2 使用系统内置的 dict()创建字典
dict()内置函数可以创建一个空字典、或者通过列表+元组的形式或者元组+元组形式创建一 个字典,或者通过关键字来创建一个字典 - Python中使用 dict表示字典,dict 要求 key 必须是不可变类型
- 字典的 value 值可以是任意数据类型
- key 不允许重复
由于字典中的key是非常关键的数据,而且程序需要通过key来访问value,一旦字典的key重复了,相当于给这个key重新赋值 - 应用场景:
当保存一些事物的信息的时候我看可以使用字典格式,例如用户的信息 练习:创建一个字段保存个人信息,并且打印个人信息和变量类型
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、字典的常见操作
返回文章目录
四、集合
返回文章目录
1、什么是集合
- 集合是盛放多个数据的一种类型。集合中的元素是无序的,唯一的、不可改变类型
- 可以使用大括号 { } 或者 set() 函数创建集合
- 格式:
(1). 变量名={元素 1,元素 2,元素 3,…}
(2). 变量名=set(序列) 例如 变量名=set(元组,自动,字符串) - 注意事项:
1.创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典 2.集合中的元素必须是不可修改类型
练习 1:创建集合并且查看内容和类型
2、集合的操作(增删改)
- 2.1 增加操作
方法: add() 和 update() - 2.2 删除操作
pop、remove、clear、del - 2.3 查询操作
3、集合的数学运算
- 1.交集(& 或者 intersection)取公共部分
- 2.并集 (| 或者 union) 取去除重复部分内容
- 3.差集 (- 或者 difference)取 set1 或者 set2 中除去公共部分的内容
- 4.反交集 (^ 或者 symmetric_difference)
- 5.子集 (< 或者 issubset)
- 6.超集 (> 或者 issuperset)
练习 1:去除列表中重复的内容
4、集合的运用的场景
由于元素在集合中只能存储一次,集合 (set) 可以用来把重复项从其他数据类型中过滤掉。 直接把其他类型 转换为一个集合 (set) ,然后再转换回来即可
笔试题:
现有如下数据 lst = [1, 1, 5, 2, 6, 10, 9, 8, 8, 9, 2, 3] 请按照自己的思路将上述列表中的数据,完成重复数据的剔除,并按照自然顺序排序展示