一、推导式
列表推导式:利用其他列表创建新列表的一种方式
- 格式:
变量名 = [表达式 for 变量 in 列表]
变量名 = [表达式 for 变量 in 列表 if 条件] - 执行流程:
遍历列表的内容给定变量,表达式根据变量进行逻辑运算
遍历列表的内容给定变量,然后进行判断,符合的值再给表达式
二、元组
- 定义:
元组是一个【不可修改】的,元素以逗号分隔开的以【小括号】包围的【有序】的序列 - 格式:
变量名 = (元素1,元素2…) - 访问元组:
与访问列表一样,可以使用索引,切片和for循环来获取元素 - 元组合并和重复:
合并:元组 + 元组
重复:*元组 - 访问多维元组:
元组里面还有元组,访问方式和列表一样 - 使用多个变量接收值
格式:
变量1,变量2,…= (元素1,元素2,…)
tup = (1,2,3,4,5)
v1,*v2 = tup2
print(v1)
print(v2)
- 修改元组:
如果元素本身是一个可变数据类型的列表,那么其嵌套项可以被改变 - 【tuple】函数,将其他数据转换为元组
- 元组方法:
index 从左往右返回第一个遇到的指定元素的索引,如果没有会报错
用法:
元组 . index(元素)
count 返回元组当中指定的个数
用法:
元组 . count(元素)
enumerate 同时返回索引和元素,可以改变索引初始值
用法:
for i in enumerate(tup1,1):
三、字典
1、定义
- 当保存一些事物信息的时候,可以使用字典格式
- 格式
{key:value},key必须是不可能类型,value数据类型任意 - 定义字典:可以使用dict(),也可以直接用{}
注意:花括号中应包含多个 key-value 对,key 与 value 之间用英 文冒号隔开;多个 key-value 对之间用英文逗号隔开字典中的键不可重复,重复会覆盖
dic = {"name":"张三","age":18}
#字典根据键取值
print(dic["name"])
2、方法
字典在Python3.6及后续版本是有序的,之前是无序的
- 增加
1.1 通过key添加value值,如果【key存在,则覆盖】
用法:字典[key] = value
1.2 setdefault(),指定key和value,指定key和value,如果【key 存在,则不覆盖】
用法:字典.setdefault(key,value) - 删除
2.1 pop()弹出,返回并删除指定键对应的值
用法:字典 . pop(键)
2.2 popitem ()返回并删除最后一个键所对应的值
用法:字典 . popitem()
2.3 clear(),清空字典
2.4 del 删除整个字典对应值 - 修改
1.1 通过key添加value值,如果【key存在,则覆盖】
用法:字典[key] = value
1.2 update(),传递一个字典,如果key相同,则覆盖,没有key则添加
用法:字典1 . update(字典2) - 查找
4.1 根据 key 查找 通过指定的 key 找对应的值 dict[‘key’]
4.2 keys 包含字典所有 key 的 dict_keys 对象,该对象可以转换为列表
4.3values 包含字典所有的 value 的 dict_keys 对象,该对象可以转换为列表
4.4get 以键取值,如果指定键不存在,默认返回 None,可以指定返回内容
4.5 items 返回字典键值呈元组形式的格式
4.6 len 测量字典,键值对的个数(整体)
3、排序
dic2 = {'a':1,'b':4,'c':2,'d':3}
#直接对字典排序
ret = sorted(dic2)
#对字典的值进行排序,dic2.values()
ret = sorted(dic2.values())
print(ret)
4、dict()数据转字典
lst = [('name','张三'),('age',18)]
dic = dict(lst)
dic = dict(name = '张三',age = 18)
print(dic)
四、集合
1、定义:
集合是存放多个数据的一种类型,集合中的元素是【无序的】,【唯一的】,不可改变类型
2、 格式:
- 使用{}或者set()函数创建集合
用法:
变量名 = set(序列)
变量名 = {1,2,3,4,5}
注意:
创建空集合不能用{},{}是创建字典用的
集合中的元素只能是【不可变类型】
set()函数可以用于去重
3、集合操作
- 增加:
1.1 add() 用法:集合 . add (元素)
1.2 update() 用法:集合1.update(集合2) - 删除:
pop(),remove(),clear(),del - 遍历:
for 临时变量 in 集合
4、 集合数学运算
- 交集(& 或者 intersection)取公共部分
- 并集 (| 或者 union) 取去除重复部分内容
- 差集 (- 或者 difference)取 set1 或者 set2 中除去公共部分的内容
- 反交集 (^ 或者 symmetric_difference)
- 子集 (< 或者 issubset)
- 超集 (> 或者 issuperset)