列表:
- 列表就是队列
- 是各种数据类型的集合,也是一种数据结构
- 是有序的,且内容可重复的集合类型
- list表示列表类型,可用list内置函数定义一个列表
- 列表中的元素存在于一个[]中,各元素用逗号隔开
- 是一个无限制长度的数据结构,但应避免使用超长的列表
- 列表中的元素可以是任何类型的数据
例:
# 列表的变量,可以使用list也可不用list
a = list([1, "张三", None, [11,22]])
b = [3]
# 打印变量的数据类型
print(type(a))
print(type(b))
结果:
1.内置成员运算符in:判断列表中是否包含某个成员
- in :若是列表中包含“张三”,返回True,否则返回False
- not in :若是列表中不包含“张三”,返回True,否则返回False
例:
a = [1, "张三", None, [11,22]]
# 使用in,判断“张三”是否是列表中的成员
res1 = "张三" in a
res2 = "张三" not in a
print(res1)
print(res2)
结果:
2.内置函数max和min
- 函数max:返回数据中最大的成员
- 函数min:返回数据中最小的成员
- 中文符号>字母>数字>英文符号
- 中文按照拼音的首字母来计算
- max和min在列表中使用的时候,列表中的元素不能是多种类型,如果类型不一致,会报错
- 列表中的数据为空的话,使用max或者min会报错
例:
a = [3, 5, 9, 2]
b = ["12", "哈哈1", "!"]
c = [1, "11"]
# a和b列表中数据一致,可以正常打印最大或最小成员
print("a列表中最大的成员:",max(a))
print("b列表中最小的成员:",min(b))
# c列表中的数据类型不一致,会报错
print(min(c))
结果:下面的报错是因为列表数据类型不一致
3.内置函数len–返回数据的长度(数字类型的不可以使用此函数)
例:
a = [3, 5.1, 9, 2, "12", ["哈哈1", "!"]]
b = []
# 使用len函数打印列表长度
print("a列表长度:",len(a))
print("b列表长度:",len(b))
结果:
4.列表索引与切片
索引:
- 字符串、列表和元组有索引
- 从最左边记录的位置就是索引
- 索引用数字表示,从0开始
- 最大索引是:它们的长度-1
切片:
- 索引是对单个元素进行访问,切片则是对一定范围内的元素进行访问
- 切片通过冒号在中括号内把相隔的两个索引查找出来,例:[0:3]
- 切片规则:左含,右不含
根据索引对列表进行操作:
- 根据索引,修改列表的元素:list[index] = new_item,数据的修改只能在存在的索引范围内
- 查找元素的索引值:list.index(item),item是元素
- 删除列表的元素,方式一:list.pop(index),有返回值,index是索引,index不存在会报错
- 删除列表的元素,方式二:del list[index],无返回值,index是索引
注:
- 元组可以和列表一样获取所有和切片索引
- 元组函数index和列表用法一致
- 元组无法通过索引修改和删除元素
例:
a = [1, 2, 3, 4, 5, 6, 7, 8]
print('列表:{}'.format(a))
# 切片
print('列表最大索引是:{}'.format(len(a)-1)) # 最大索引值
print('列表第四个位置的值:{}'.format(a[3])) # 第四个位置的值
print('列表全部内容:{}'.format(a[:])) # 全部内容
print('列表全部内容:{}'.format(a[0:])) # 全部内容
print('除最后一个元素外的其他内容:{}'.format(a[:-1])) # 除了最后一个元素的其他内容
print('列表倒序:{}'.format(a[::-1])) # 倒序
print('反向获取列表倒数第二个元素:{}'.format(a[-2:-1])) # 反向获取
print('从0到8,每隔一个获取的元素:{}'.format(a[0:8:2])) # 步长获取,从0到8,每2个获取一个
print('空列表:{}'.format(a[0:0])) # 空列表
# 索引,切片
print('查找元素2的索引:{}'.format(a.index(2))) # 查找元素2的索引值
a[1] = 'a' # 修改单个元素
print('修改单个元素:{}'.format(a))
a[1:3] = '二', '三' # 通过切片,修改多个元素
print('修改多个元素:{}'.format(a))
# 根据索引删除列表中的元素
b = a.pop(0) #删除第一个元素
print('删除第一个元素{}后:{}'.format(b,a))
del a[-1] #删除最后一个元素
print('删除最后一个元素后:{}'.format(a))
结果: