目录
列表
写在方括号[ ]之间、用逗号分隔开的有序可变序列。
列表中元素的类型可以不相同。(一个列表中的数据类型可以各不相同,可以同时分别为整数、实数、字符串等基本类型,甚至是列表、元组、字典、集合以及其他自定义类型的对象)
list1 = ["幻影", "G68", 89, True]
list2 = ['spam', 2.0, 5, [10, 20]]
1.创建列表
变量名 = 列表
变量名 = list(可迭代对象)
- 可直接将一个列表赋值给变量
- 也可以使用 list() 函数将元组、 range 对象、字符串或其他类型的可迭代对象类型的数据转换为列表。
应用:生成[1,4,9,16,25]
#第一种方式: list1 = [] for i in range(1, 6): list1.append(i ** 2) print(list1) #第二种方式(列表生成式): """ 变量写在前边,后面写变量的变化 """ list2 = [i ** 2 for i in range(1, 6)] print(list2)
2.列表的索引
索引同字符串和元组一样,从0开始,0表示第一个元素索引,-1最后一个元素索引,-len()第一个元素的索引,len()-1最后一个元素的索引,对应的元素1=array[0]= array[-7](左闭右开)。
切片
切片是 Python 序列的重要操作之一,适用于列表、元组、字符串、 range 对象等类型。
序列名[start : end : step]
参数:
- start 表示开始下标(默认为0)
- end 表示结束下标(默认为序列长度)
- step 表示步长(默认为1)
可以使用切片来 截取 序列中的任何部分,得到一个新序列。
也可以通过切片来 修改 和 删除 列表中部分元素,甚至可以通过切片操作为列表对象增加元素。(字符串、元组除外)
注意区分:list1[0] 和 list1[0:1] 的区别
3.列表的操作
3.1列表元素的增加
- 使用 + 合并列表 (速度慢)
- 使用 * 重复列表
将列表与整数相乘,生成一个新列表,新列表是原列表中元素的重复。
- 使用 a[n:n]=[q] 可以在列表a中的n位置插入一个值q
- L.append(var)
向列表的尾部追加元素。注意:append方法不能返回值
追加单个元素
追加多个元素,需以列表的形式进行,原列表维数随之发生改变
- L.extend(list)
向列表的尾部追加列表。注意:extend方法不能返回值
追加单个元素,会被“拆分”
- L.insert(index,var)
在列表的指定位置添加元素
追加单个元素
追加多个元素,需以列表的形式进行,原列表维数随之发生改变
3.2列表元素的删除
- del 命令
删除整个列表或列表指定位置上的一个或多个元素
- L.clear()
清空列表
- L.pop(index)
删除指定位置上的一个元素,并返回指定位置上的元素(默认最后一个)
- L.remove(var)
删除列表中首次出现的指定元素
应用:在列表中删除连续重复的元素
# 找元素,删元素 list5 = ["01", "12", "23", "23", "45", "56"] for i in list5[::]: if i == "23": list5.remove(i) print(list5) # ['01', '12', '45', '56'] # 找索引 删元素 list6 = ["01", "12", "23", "23", "45", "56"] for i in range(len(list6)-1, -1, -1): if list6[i] == "23": del list6[i] print(list6) # ['01', '12', '45', '56']
3.3列表元素的访问与计数
- 下标直接访问
- in 或 not in
- L.count(var)
统计指定元素在列表中出现的次数
- L.index(var)
获取指定元素的索引
3.4列表元素的排序
- L.sort()
- sorted(list)
对列表元素进行排序,默认是升序(reverse = False),排序的结果会生成一个新列表
二者都可加入参数 key 来指导排序
- L.reverse()
翻转列表元素,不会生成一个新的列表
- reversed(list)
内置函数,翻转列表元素,会生成一个新的列表,但需使用list()函数一起
常用序列操作内置函数
- len(list)
获取列表的长度,同样适用于元组、字典、集合、字符串等
- max(list)
获取列表中的最大值,同样适用于元组、字典、集合、 range对象等
- min(list)
获取列表中的最小值,同样适用于元组、字典、集合、 range对象等
- sum(list)
对列表元素进行求和运算,对非数值型列表运算需指定start参数,同样适用于元组、 range
- zip()
返回可迭代的zip对象
- enumerate(list)
枚举列表元素,返回枚举对象,每个元素为包含下标和值的元组。对元组、字符串同样有效
总结
学习Python的第四天~,以上大部分内容来自公众号“Python小屋”、“千峰教育”