列表概念及增删改查
概念
1.列表的作用 同时保存和处理多个数据
2.什么是列表(list)
1)列表是系统提供的容器型数据类型中的一种(可以同时保存多个数据);
2)将**[]作为容器的标志**,里面多个元素用逗号隔开: [数据1, 数据2, 数据3, …]
3)列表作为容器的特点:
a.列表是可变的(列表中元素的个数、元素的值以及元素的顺序可变) - 列表支持增删改
b.列表是有序的(元素的顺序影响结果; 支持下标/索引操作)
4)列表对元素的要求
a.任何类型的数据都可以作为列表的元素
b.同一个列表中的元素的类型可以不一样
注:元素 - 容器型数据类型中保存的每一个独立的数据
len(列表) - 获取列表中元素的个数
空列表
list1 = []
列表是有序
print('abc' == 'bac')
print([10, 20, 30] == [20, 10, 30]) # False
print([10, 20, 30] == [10, 20, 30]) # True
print({10, 20, 30} == {20, 10, 30}) # True
list2 = [10, 20, [30, 40]]
print(list2, len(list2))
list3 = [10, 'abc', True, None, [1, 2]]
print(list3, len(list3))
查找
1.下标
列表名[下标]
names = ['张三', '小明', '李四', '王五']
print(names[1])
print(names[-3])
2.切片
列表名[开始下标,结束下标,步长] 切出一个新列表
3.遍历列表
方法1 - 直接获取列表元素
for 变量 in 列表:
循环体(变量依次获取到的就是列表中的每个元素)
names = ['甄嬛传', '庆余年', '长相思', '莲花楼']
for x in names:
print(x)
方法2 - 通过遍历列表中每个元素的下标来遍历列表
for 变量 in range(len(列表)):
循环体(变量依次获取到的是列表中每个元素的下标)
for x in range(len(names)):
print(x, names[x])
for x in range(-1, -len(names)-1, -1): #还可以-1 部署倒着取,展示下标从-1开始
print(x, names[x])
方法3 - 同时获取列表中元素和下标
for 变量1, 变量2 in enumerate(列表):
循环体(变量1依次取到的是每个元素的下标,变量2依次获取到的是每个元素)
for index, item in enumerate(names):
print(index, item)
增加
1.列表.append(元素) 在指定列表的最后添加指定元素,也可在遍历时用于直接替换元素
# 案例3:将scores中所有的不及格分为设置为0
scores = [90, 89, 56, 99, 71, 63, 69, 77, 59, 92]
# [90, 89, 0, 99, 71, 63, 69, 77, 0, 92]
new_scores = []
for x in scores:
if x < 60:
new_scores.append(0)
else:
new_scores.append(x)
print(new_scores)
- 列表.insert(下标, 元素) 在列表中指定下标对应的元素前面插入指定的元素
games = ['英雄联盟', '森林冰火人', '原神', '人类一败涂地', '王者荣耀', '神州战神', '吃鸡']
games.insert(-1, '羊了个羊')
print(games) # [xx...,'羊了个羊','吃鸡']
删除
1.del 列表[下标] 删除列表中指定下标对应的元素
del games[2]
print(games)
2.列表.remove(元素) 删除列表中的指定元素(如果元素有多个,只删最前面的那一个;如果元素不存在,程序会报错)
games.remove('原神')
print(games)
列表.pop() 取走列表中最后一个元素,并返回
列表.pop(下标) 取走列表中指定下标对应的元素,并返回
修改
列表[下标] = 值 将列表中指定下标对应的元素修改成指定的值
列表.pop()* 取走列表中最后一个元素,并返回
列表.pop(下标) 取走列表中指定下标对应的元素,并返回
修改
列表[下标] = 值 将列表中指定下标对应的元素修改成指定的值