-
利用切片,一次修改多个数据
iterable: 容器,range对象,迭代器
lst[1:4] = ("张果老","吕洞宾","铁拐李","何仙姑")
lst[1:4] = 1234 # error 必须为Iterable类型才可以赋值
lst[1:4] = "1234"
print(lst)
-
利用切片,切几个元素就修改几个元素
lst = ["张治中","曹国晋","宋浩","欧阳郁郁","范李评","李文豪","申艳英","刘霞"]
print(lst[::3] ) #0 3 6 9 12 .... 张治中 欧阳郁郁 申艳英
lst[::3] = ["王源","王俊凯","易烊千玺"]
lst[::3] = ["王源","王俊凯"] # error
print(lst)
-
列表的删除 ( 可切片 )
lst = ["张治中","曹国晋","宋浩","欧阳郁郁","范李评","李文豪","申艳英","刘霞"]
删除一个元素
del lst[0]
print(lst)
删除多个元素
del lst[0:3] # 0 1 2
print(lst)
注意点1
res = lst[0:3] # 删除是指向0:3这些元素的变量res本身,不是列表
del res
print(lst)
注意点2
tup = (1,2,3,[4,5]) # 改变的是列表,不是元组
tup[-1][-1] = 6
print(tup)
-
去掉列表所有重复元素
常规写法一
lst = ["a","b","a",3]
res = set(lst)
print( list(res) ) # ["a","b","3"]
按照次序来算
append 从后面插入,追加
lst = []
lst.append(1)
lst.append(2)
lst.append(3)
print(lst) # [1,2,3]
进阶写法二 [保证次序]
lst = ["a","b","a",3]
lst_new = []
for i in lst: # 不会你就for i in 先把数据跑起来
if i not in lst_new: # 如果不在新列表里,就插入
lst_new.append(i) # 插入
print(lst_new)