Day3 容器类型 2020.07.19
0x00:列表
一、列表的定义
list
(列表) 是Python
中使用 最频繁 的数据类型- 专门用于存储 一串 数据,存储的数据 称为 元素
- 列表用
[]
定义,元素 之间使用,
分隔 列表的 索引 从
0
开始- 索引 就是元素在 列表 中的位置编号
- 注意:从列表中取值时,如果 超出索引范围,程序会报错
二、列表的嵌套
- 一个列表中的元素又是列表,那么这就是列表的嵌套
- 列表的嵌套
三、列表的常用操作
分类 | 格式 | 说明 |
---|---|---|
增加 | 列表.append(值) | 在列表末尾追加数据 |
删除 | 列表.remove(值) | 删除列表中第一个出现的指定数据 |
del 列表[索引] | 删除指定位置的值 | |
列表.pop(索引) | 从列表中删除指定位置的值,并返回该值 | |
列表.clear() | 清空列表 | |
修改 | 列表[索引] = 值 | 修改指定索引的数据,索引超出列表范围会报错 |
查询 | 列表[索引] | 根据索引取值,索引超出列表范围会报错 |
列表.index(值) | 根据值查询索引,若值不存在会报错 | |
列表.count(值) | 获取指定值在列表中出现的次数 | |
值 in 列表 | 判断列表中是否包含某个值 | |
len(列表) | 获取列表长度 | |
排序 | 列表.sort() | 排序 |
列表.reverse() | 逆序、反转 |
四、列表操作符
列表可以进行相加
+
和相乘*
运算+
相当于拼接列表*
相当于重复列表- 此外,还能通过
in
与not in
判断元素是否存在于列表当中
# 列表相加 print('列表相加', [1, 2, 3] + ['a', 'b']) # 列表相乘 print('列表相乘', ['a', 'b'] * 3) # 判断元素是否存在于列表当中 print("判断元素'a'是否存在于列表['a', 'b']当中", 'a' in ['a', 'b']) print("判断元素'a'是否不存在于列表['a', 'b']当中", 'a' not in ['a', 'b'])
输出结果
列表相加 [1, 2, 3, 'a', 'b']
列表相乘 ['a', 'b', 'a', 'b', 'a', 'b']
判断元素'a'是否存在于列表['a', 'b']当中 True
判断元素'a'是否不存在于列表['a', 'b']当中 False
五、列表的循环遍历
通过for循环遍历
遍历就是从头到尾依次从目标列表中取出列表中的每一个元素
_list = ['dog','cat','fox','tiger'] # 一般情况下的遍历 i = 0 while i < len(_list): print(_list[i]) i += 1 # 使用Python提供的for循环进行遍历 for _item in _list: print(_item)
if...in 和 for...in 的区别
- if...in :判断某个元素是否在列表当中,如果在则执行语句下的代码块
- for...in:从头到尾依次从列表中取出每一个元素
for...else的使用
- for循环中如果没有遇到break语句,则在for循环执行完成后,便会执行else分支下的代码块
0x01:元组
一、元组的定义
- 元组用
()
定义 - 用于存储 一串 数据,元素 之间使用
,
分隔 - 元组的 索引 从
0
开始 - 元组中 只包含一个元素 时,需要 在元素后面添加逗号
- 元组只能进行查询,不能进行增删改
二、元组的常用操作
分类 | 格式 | 说明 |
---|---|---|
查询 | 元组[索引] | 根据索引取出元组中对应元素的值 |
值 in 元组 | 判断元素是否存在于元组中,若存在则返回真,否则返回假 | |
元组.index(值) | 获取指定值在元组中的索引,若不存在会报错 | |
元组.count(值) | 获取值在元组中出现的次数 | |
len(元组) | 获取元组长度 |
三、元组和列表的区别
语法上:
- 列表是:
[]
- 元组是:
()
- 列表是:
一个元素时的定义
- 元组:
(元素,)
- 元组:
使用上:
- 列表元素可以改变
- 元组元素不能修改
0x02:字典
一、字典的定义
字典同样可以用来存储多个数据
- 通常用于存储 描述一个
物品
的相关信息
- 通常用于存储 描述一个
- 字典用
{}
定义 字典使用键值对存储数据,键值对之间使用
,
分隔- 键
key
是索引,值value
是数据 - 键 和 值 之间使用
:
分隔 - 值 可以取任何数据类型,但 键 只能使用 字符串、数字或 元组
- 键必须是唯一的
- 键
二、字典的常用操作
分类 | 格式 | 说明 |
---|---|---|
增加 | 字典[键] = 值 | 当键不存在时,会添加键值对 |
删除 | 字典.pop(键) | 从字典中删除指定的键值对,并返回被删除的值 |
del 字典[键] | 从字典中删除键值对 | |
字典.clear() | 清空字典 | |
修改 | 字典[键]=值 | 若键存在,则会修改键值对的值 |
查询 | 字典[键] | 从字典中获取指定键的值,若键值对不存在会报错 |
字典.get(键) | 从字典中获取指定键的值,若键值对不存在返回None | |
for key in 字典 | 遍历字典,获取所有的键 | |
for key in 字典.keys() | 遍历字典,获取所有的键 | |
for key in 字典.values() | 遍历字典,获取所有的值 | |
for item in 字典.items() | 遍历字典,获取所有的键值对(键,值) | |
字典合并 | 字典1.update(字典2) | 将字典2合并进字典1中 |
字典3 = {*字典1, *字典2} | 将字典1和字典2合并并赋值给字典3 |
三、遍历字典
"""
# 遍历字典, 获取所有的键值对 (键, 值)
for k, v in 字典变量.items():
print(k, v)
"""
_info = {'name': 'fox', 'age': 900, 'city': '青丘山'}
for k, v in _info.items():
print(k, v)
0x03:字符串
一、字符串的定义
字符串的定义
- 字符串 就是 一串字符,是编程语言中表示文本的数据类型
- 在 Python 中可以使用 一对双引号
"
或者 一对单引号'
定义一个字符串 或者 一对三引号'''
定义一个字符串 - 可以使用 索引 获取一个字符串中 指定位置的字符,索引计数从 0 开始
- 也可以使用
for
循环遍历 字符串中每一个字符
f-strings字符串格式化
f-strings
是Python 3.6之后的一种新的字符串格式化方法,要使用f-strings,只需在字符串前加上f、或F。
二、字符串的常用操作
分类 | 格式 | 说明 |
---|---|---|
查询 | 字符串.find(目标字符串,开始索引,结束索引) | 在指定范围中查询目标字符串的索引,不存在返回-1 |
替换 | 字符串.replace(原内容,新内容,替换次数) | 返回替换后的新字符串,可指定替换次数,不指定则全部替换 |
分割 | 字符串.split(分割符) | 以分割符拆分字符串,返回拆分后的列表 |
拼接 | 字符串+字符串 | 拼接俩个字符串 |
字符串.join(字符串列表) | 以字符串来连接字符串列表中的每一个元素,合并为一个新的字符串 | |
大小写转换 | 字符串.lower() | 返回新的字符串,将原字符串中所有大写字符转为小写 |
字符串.upper() | 返回新的字符串,将原字符串中所有小写字符转为大写 | |
判断 | 字符串.startswith(目标字符串) | 检查字符串是否是以 目标字符串 开头,是则返回 True |
字符串.endswith(目标字符串) | 检查字符串是否是以 目标字符串 结尾,是则返回 True |
三、字符串的切片操作
什么是切片
- 切片 译自英文单词 slice,翻译成另一个解释更好理解: 一部分
- 切片 使用 索引值 来限定范围,根据 步长 从原序列中 取出一部分 元素组成新序列
- 切片 方法适用于 字符串、列表、元组
字符串[开始索引:结束索引:步长]
注意:
指定的区间属于 左闭右开 型
[开始索引, 结束索引)
对应开始索引 <= 范围 < 结束索引
- 从
起始
位开始,到结束
位的前一位 结束(不包含结束位本身)
- 从
- 从头开始,开始索引 数字可以省略,冒号不能省略
- 到末尾结束,结束索引 数字和冒号都可以省略
步长:理解为走的步数,正数说明是从左往右,负数是从右往左,默认步长为+1
- 步长默认为
1
,如果元素连续,数字和冒号都可以省略
- 步长默认为
0x04:集合
一、集合的作用
什么是集合
- 集合用
{}
定义,元素 之间使用,
分隔 - 可通过集合对列表中的元素完成去重功能
- 集合用
集合的作用
- 元素去重 (即通过将list & tuple转为set后,将其中的重复的元素去除,在转回原来的类型,达到去重的效果)
二、list、tuple、set之间的类型转换
函数 | 说明 |
---|---|
list(x) | 将x转换为列表类型 |
tuple(x) | 将x转换为元组类型 |
set(x) | 将x转换为集合类型 |
0x05:公共语法
- 大部分容器类型的通用语法
一、Python内置函数
函数 | 描述 | 备注 |
---|---|---|
len(函数) | 计算容器中元素的个数 | |
max(item) | 返回容器中元素最大值 | 如果是字典,只针对key比较 |
min(item) | 返回容器中元素最小值 | 如果是字典,只针对key比较 |
二、切片
描述 | Pyhton表达式 | 结果 | 支持的数据类型 |
---|---|---|---|
切片 | [1, 2, 3, 4][::2] | [1, 3] | 字符串、列表、元组 |
三、运算符
运算符 | Python表达式 | 结果 | 描述 | 支持的数据类型 |
---|---|---|---|---|
+ | [1,2] + [3,4] | [1,2,3,4] | 合并 | 字符串、列表、元组 |
* | [1,2] * 2 | [1,2,1,2] | 重复 | 字符串、列表、元组 |
in | 3 in [1,2,3] | True | 元素是否存在 | 字符串、列表、元组、字典 |
not in | 4 not in (1,2,3) | True | 元素是否不存在 | 字符串、列表、元组、字典 |
> >= == < <= | (1,2,6) < (1,3,4) | True | 元素比较 | 字符串、列表、元组 |
注意
in
在对 字典 操作时,判断的是 字典的键in
和not in
被称为 成员运算符