3、列表类型
列表类型 list
用途:用于存一个或者多个不同类型的值
定义方式:通过中括号[],存值,值之间用逗号分隔
常用方法:
- 索引取值,正向取和反向取,可以取也可以存
l1 = [1, 2, 3, "shen"]
print(l1[2])
print(l1[-1])
l1[3] = 8# >>>将l1索引3位置的值换成8
- 索引切片
跟字符串索引切片相同,顾头不顾尾,默认步长为1
- .append():在列表最后追加一个值,传入什么类型加入什么类型,一次性只能加一个值
l1 = [1, 2, 3, "shen"]
l1.append(100)
print(l1)# >>>[1, 2, 3, 'shen', 100]
l1.append("age")
print(l1)# >>>[1, 2, 3, 'shen', 100, 'age']
l1.append([1,2])
print(l1)# >>>[1, 2, 3, 'shen', 100, 'age', [1, 2]]
- .insert():在任意位置插入一个值
l1 = [1, 2, 3, "shen"]
l1.insert(3,"name")# 将"name"插入索引的位置
print(l1)# >>>[1, 2, 3, 'name', 'shen']
- .extend():将传入的可迭代对象打散后追加到列表后面
l1 = [1, 2, 3, "shen"]
l1.extend([1,2,3])
print(l1)
l1.extend({"name":"shen","age":18})
print(l1)
- .remove():删除指定值,仅删除从左往右第一个,没有返回值(彻底删除)
l1 = [1, 2, 3, "shen",1]
l1.remove("shen")
print(l1)# >>>[1, 2, 3, 1]
l1.remove(1)
print(l1)# >>>[2, 3, 1]
- .pop():按照索引删除,如果不指定索引默认删除最后一个,有返回值(最常用的删除)
l1 = [1, 2, 3, "shen", 1]
v1 = l1.pop()# 返回值是删除的那个值
print(l1)# >>>[1,2,3,"shen"]
print(v1)# >>>1
v2 = l1.pop(2)# 拿出删除的那个值
print(l1)# >>>[1,2,"shen"]
print(v2)# >>>3
- del 万能删除 ,彻底删除
l1 = [1, 2, 3, "shen", 1]
# del l1# 把整个l1删除,包括变量名
# print(l1)
del l1[0]# 彻底删除索引0位置的数据
print(l1)
- 成员运算符:in、not in
s1 = ['hello','world']
print("o"in s1)# >>>True
- len():获取列表中元素的个数
s1 = ['hello','world']
print(len(s1))
-
for 变量 in 可迭代对象:循环
-
.count():统计元素个数
l1 = [1, 2, 3, "shen", 1]
print(l1.count(1))
- .index():查找指定元素的第一个索引值,还可以指定查找范围,顾头不顾尾
l1 = [1, 2, 3, "shen", 1]
print(l1.index(2))
print(l1.index(1,1,8))
-
.sort():在原列表上排序,默认从小往大排序,可以更改倒序
sorted():python的内置方法,排序后生成新的列表,原列表不变
l1 = [5, 2, 1, 4]
# l1.sort()# 正序
l1.sort(reverse = True)# 倒序
print(l1)
l2 = sorted(l1)# python的内置方法,生成新列表
print(l2)
print(l1)# >>>[5,2,1,4]
l2 = sorted(l1)
l3 = sorted(l1,reverse=True)
print(l2)# >>>[1, 2, 4, 5]
print(l3)# >>>[5, 4, 2, 1]
print(l1)# >>>[5, 2, 1, 4]
- .clear():清空列表
l1 = [5, 2, 1, 4]
l1.clear()
print(l1)
队列:先进先出
l1 = []
l1.append(1)
print(l1)
l1.append(2)
print(l1)
l1.append(3)
print(l1)
l1.pop(0)
print(l1)
l1.pop(0)
print(l1)
l1.pop(0)
print(l1)
# >>>
[1]
[1, 2]
[1, 2, 3]
[2, 3]
[3]
[]
堆栈:先进后出
l1 = []
l1.append(1)
print(l1)
l1.append(2)
print(l1)
l1.append(3)
print(l1)
l1.pop()
print(l1)
l1.pop()
print(l1)
l1.pop()
print(l1)
# >>>
[1]
[1, 2]
[1, 2, 3]
[1, 2]
[1]
[]
列表能按索引取值,所以有序的,值变id不变,是可变类型,可以存多个值