04、day04_列表(list)初识-删改查
列表的初识
-
WHY:int、bool、str
- str:只能存储少量的数据,且无论切片还算对其进行任何操作,获取的内容全都是str类型,存储的数据单一。
-
WHAT:list
- l1 = [100, 'Murphy', True, [1, 2, 3]] 承载任意数据类型,存储大量的数据。
- Python常用的容器型数据类型。list列表,其他语言:Java:数组。
- 列表是有序的,可按索引切片(步长)
-
索引、切片
-
li = [100, 'Murphy', True, [1, 2, 3]] # 索引 index print(li[0], type(li[0])) print(li[1], type(li[1])) print(li[-1]) -
# 切片:顾头不顾腚 li1 = [1, 3, 2, 'a', 4, 'b', 5, 'c'] li2 = li1[0:3] print(li2) # [1, 3, 2] li3 = li1[3:-2] print(li3) # ['a', 4, 'b'] li4 = li1[1:-1:2] print(li4) # [3, 'a', 'b'] li5 = li1[-3::-2] print(li5) # ['b', 'a', 3]
-
-
列表的创建方式
-
方式一
li = [1, 2, 'Murphy']
-
方式二
li = list('jfkdlajsfleijfdlafasd')
print(li)
-
方式三 :列表推导式
-
-
增删改查
-
增 【append:追加】
li = ['Murphy', 'Mikie', '迪丽热巴', '吴磊'] li.append('xx') # print(li.append('xx')) # 这个是错误的方法,li.append()是一个动作,无法打印动作 print(li) -
li = ['Murphy', 'Mikie', '迪丽热巴', '吴磊'] while 1: name = input("请输入新员工名字:(按Q退出不分大小写)") if name.upper() == 'Q': break li.append(name) print(li) -
插入 【insert】
-
迭代追加 【extend】
-
删
-
按照索引删 【pop()】# 按索引删除是有返回值的(返回删除的元素)
li = ['Murphy', 'Mikie', '墨菲斯托', '迪丽热巴', '墨菲斯托', '吴磊'] li.pop() # 如果括号里不填索引值(啥也不写),则默认删除最后一个 print(li) # ['Murphy', 'Mikie', '墨菲斯托', '迪丽热巴', '墨菲斯托'] -
指定元素删 【remove()】,如果有重名默认删除从左起第一个
li.remove('墨菲斯托') print(li) # ['Murphy', 'Mikie', '迪丽热巴', '墨菲斯托', '吴磊'] -
clear清空
li.clear() print(li) # [] -
del ,可以按照索引去删,还可以按切片去删
del li[-1] print(li) # ['Murphy', 'Mikie', '墨菲斯托', '迪丽热巴']
-
-
改
-
按索引改
li[0] = 'Mike' print(li) # ['Mike', 'Mikie', '墨菲斯托', '迪丽热巴', '墨菲斯托'] -
按照切片改(了解),
li = ['Murphy', 'Mikie', '墨菲斯托', '迪丽热巴', '墨菲斯托', '吴磊'] li[4:] = 'jfdlsjklf' print(li) # ['Murphy', 'Mikie', '墨菲斯托', '迪丽热巴', 'j', 'f', 'd', 'l', 's', 'j', 'k', 'l', 'f'] -
按照切片加步长(必须一一对应了)
li = ['Murphy', 'Mikie', '墨菲斯托', '迪丽热巴', '墨菲斯托', '吴磊'] li[::2] = 'ABC' print(li) # ['A', 'Mikie', 'B', '迪丽热巴', 'C', '吴磊']
-
-
查
-
索引,切片(步长)
-
for循环查
for i in li: print(i)
-
-
-
列表嵌套★★★★★
-
先来个练习
""" 1.将li中的'Murphy'变成大写放回原处 2.给小列表[1, 'Mike', 3, ]追加一个元素'我爱python' 3.将列表中的'Mike'通过字符串拼接的方式在列表中变成'Mikesb' """ li = [1, 2, 'Murphy', [1, 'Mike', 3, ]] li[2] = li[2].upper() print(li) li[-1].append('我爱python') print(li) # li[-1][1] = li[-1][1] + 'sb' li[-1][1] += 'sb' print(li) -
再练一个
""" li0 = [2, 3, 'k', ['qwe', 20, ['k1', ['tt', 3, 'l']], 89], 'ab', 'adv'] 将列表li0中的'tt'变成大写 将列表中的数字3变成字符串'100' 将列表中的字符串'1'变成数字101 """ li0 = [2, 3, 'k', ['qwe', 20, ['k1', ['tt', 3, 'l']], 89], 'ab', 'adv'] li0[3][2][1][0] = li0[3][2][1][0].upper() print(li0) li0[1] = '100' li0[3][2][1][1] = '100' print(li0) li0[3][2][1][-1] = 101 print(li0)
-

浙公网安备 33010602011771号