4.6 列表、字典、元组、集合、字符串总结
*4.6.1 相关函数大汇总
注:本小节带 *,不需要进行学习,可以简单进行了解
⛲️ 本小节可以说还是比较重要的,但为什么本小节打 * 了呢?这是因为我们没必要去记忆这些函数/方法(期末考试除外),在我们需要的时候我们只需要来本小节去查找用法即可
数据类型 | 函数(方法) | 用法介绍 |
列表(list) | list() | 把一连串对象转为列表 |
列表(list) | del L | 删除列表L |
列表(list) | index(x) | 返回列表中第一个值等于x的索引,如果列表中不存在值为x的元素,则显示 ValueError |
列表(list) | append(x) | 在列表尾追加一个元素x |
列表(list) | extend(L) | 将列表L中所有的元素追加至列表尾 |
列表(list) | insert(index, x) | 在列表的index位置插入一个元素x |
列表(list) | remove(x) | 删除第一个值为x的元素,如果不存在值为x的元素则会抛出ValueError |
列表(list) | pop(index) | 删除并返回列表中索引为index的元素,index默认为-1(最后一个元素) |
列表(list) | clear(L) | 清空列表L |
列表(list) | reverse() | 对列表所有元素原素逆序排序 |
列表(list) | sort(reverse=False) | 对列表中的元素进行排序,默认 reverse=False 表示升序,reverse=True 表示降序 |
字典(dict) | dict() | 将一连串的对象转为字典 |
字典(dict) | del | 删除字典 |
字典(dict) | values() | 遍历字典的值(value),默认遍历字典的键(key) |
字典(dict) | items() | 遍历字典的元素【键值对】(key:values),默认遍历字典的键(key) |
字典(dict) | get(key) | 返回我们指定的键(key)所对应的值(value),不存在键(key)则返回 None |
字典(dict) | update(dict) | 将令一个字典中的全部元素全部添加至目标字典 |
字典(dict) | popitem() | 删除字典中的最后一个元素,字典为空显示 KeyError |
字典(dict) | pop(key) | 删除键(key)所对应的键值对 |
集合(set) | set() | 将一连串的对象转为集合 |
集合(set) | del | 删除集合 |
集合(set) | add() | 将集合中加入一个新的元素,如果原集合中已有该元素则忽略此操作 |
集合(set) | update() | 将另一个集合中的元素加入到该集合中,并自动去重 |
集合(set) | remove(x) | 删除指定的元素x,如果x不存在则显示KeyError |
集合(set) | discard(x) | 删除指定的元素x,如果x不存在则忽略本操作 |
集合(set) | pop() | 删除集合中的第一个元素 |
集合(set) | clear() | 清空集合 |
集合(set) | issubset() | 判断一个集合是否为另一个集合的子集 |
集合(set) | issuperset() | 判断一个集合是否为另一个集合的超集 |
集合(set) | isdisjoint() | 判断两个集合是否没有交集,没有交集返回True,有交集返回False |
集合(set) | intersection() | 求两个集合的交集 |
集合(set) | union() | 求两个集合的并集 |
集合(set) | difference() | 求两个集合的差集 |
集合(set) | symmetric_difference() | 求两个集合的对称差集 |
字符串(str) | index() | 查找子串第一次出现的位置,如果不存在子串则显示ValueError |
字符串(str) | rindex() | 查找子串最后一次出现的位置,如果子串不存在则显示ValueError |
字符串(str) | find() | 查找子串第一次出现的位置,如果不存在子串则返回-1 |
字符串(str) | rfind() | 查找子串最后一次出现的位置,如果不存在子串则返回-1 |
字符串(str) | upper() | 将字符串中所有的字母都转为大写字母 |
字符串(str) | lower() | 将字符串中所有的字母都转为小写字母 |
字符串(str) | swapcase() | 将字符串中所有的大写字母转为小写字母,所有的小写字母转为大写字母 |
字符串(str) | capitalize() | 把第一个字母转为大写字母,其他字母转为小写字母 |
字符串(str) | title() | 把每一个单词的第一个字母转为大写字母,其他字母转为小写字母 |
字符串(str) | center() | 居中对齐,第一个参数为宽度,第二个参数为填充符(默认为空) |
字符串(str) | ljust() | 左对齐,第一个参数为宽度,第二个参数为填充符(默认为空) |
字符串(str) | rjust() | 右对齐,第一个参数为宽度,第二个参数为填充符(默认为空) |
字符串(str) | zfill() | 右对齐,只有一个参数:宽度,用 0 去填充 |
字符串(str) | split() | 从字符串左边开始分割,默认分隔符为空格,可用 sep 指定分隔符,可用 maxsplit 指定最大分割次数 |
字符串(str) | rsplit() | 从字符串右边开始分割,默认分隔符为空格,可用 sep 指定分隔符,可用 maxsplit 指定最大分割次数 |
字符串(str) | isidentifier() | 判定字符串是否由合法标识符组成 |
字符串(str) | isspace() | 判断字符串是否全部由空格字符组成(回车,换行,水平制表符) |
字符串(str) | isalpha() | 判断字符串是否全部由字母组成 |
字符串(str) | isdecimal() | 判断字符串是否全部由十进制的数字组成 |
字符串(str) | isnumeric() | 判断字符串是否全部由数字组成 |
字符串(str) | isalnum() | 判断字符串是否全部由字母和数字组成 |
字符串(str) | replace() | 第一个参数为被替换的子串,第二个参数为替换子串的字符串,第三个参数为最大替换次数(默认全部替换) |
字符串(str) | join() | 把列表和元组中的字符串合并成一个字符串,可设置字符串之间的连接符(默认无连接符) |
字符串(str) | format() | 将字符串进行格式化 |
4.6.2 有序,无序;可变,不可变
1️⃣ 有序序列,即可以说出序列的第一个元素,第二个元素,元素在序列中的位置是固定的,我们可以通过索引去直接访问指定位置上的元素,并且支持切片操作:列表,元组,字符串
无序序列,即其元素在序列中的位置不是固定的,我们不可以通过索引去访问这些元素,不支持切片操作:字典,集合
2️⃣ 可变序列,即我们可以去修改其中元素的值,并且可以为其自由的增加元素和删除已有的元素:列表,字典,集合
不可变序列,即其中的元素值是固定的,我们不可以随意的去增删改其中的元素:元组,字符串
4.7 序列解包
🚩序列解包是对多个对象同时赋值的简洁形式,我们其实在 2.4.2 赋值运算符 中就用过这个知识点,只不过当时没有介绍它的名字,序列解包可以把一个序列或者一个可迭代对象中的多个元素同时赋值给多个变量,但是要求赋值运算符左侧变量的数量和右侧的数值是一致的.
# 博主:辰chen # 博客地址:https://chen-ac.blog.csdn.net/ # 开发时间:2021/12/14 19:00 # 欢迎大家关注AIoT相关博客~ print('-----多个变量同时赋值:-----') a, b, c = 1, [1, 2, 3], '辰chen' print(a, type(a)) print(b, type(b)) print(c, type(c)) print('-----用range()产生一系列数并逐个赋值-----') n, m, t = range(3) print(n, m, t) print('-----用map()进行序列解包-----') a, b, c = map(str, range(3)) ''' map()函数后续会详细讲解 这里只需要知道 map(int, range(3)) 是将 range(3) 产生的三个数转为 str 类型即可 ''' print(a, type(a)) print(b, type(b)) print(c, type(c)) print('-----将列表中的元素逐个赋值-----') l = [6.66, True, '辰chen'] x, y, z = l print(x, y, z) print('-----将元组中的元素逐个赋值-----') t = (6.66, True, '辰chen') x, y, z = t print(x, y, z) print('-----将集合中的元素逐个赋值-----') s = {6.66, True, '辰chen'} x, y, z = s print(x, y, z) print('-----将字典中的元素逐个赋值-----') s = {1:6.66, 2:True, 3:'辰chen'} x, y, z = s # 默认赋值的是键(key) print(x, y, z) # 赋值为值(value): x, y, z = s.values() print(x, y, z) # 赋值为元素(key:value): x, y, z = s.items() print(x, y, z) print(type(x)) # 对字典的元素解包后为元组类型 print('-----将字符串进行解包-----') x, y, z = 'XYZ' print(x, y, z) print('-----利用序列解包进行多个赋值-----') s = {'a':1, 'b':2, 'c':3} for k, v in s.items(): print('The key is {0},The value is {1}'.format(k, v)) key = ['a', 'b', 'c'] value = [1, 2, 3] for k, v in zip(key, value): # 使用zip()进行解包,后续会介绍这个函数 print(k, v)