前言:python中list列表修改元素。 🦙(工作遇到傻逼,千万要远离。道路千万条,远离傻逼第一条)
修改单个元素直接对元素赋值即可
示例:
list = ["python",1,2,"java",78,9,80,90,2,34,2] print(list) list[0] = 1 print(list)
运行结果:
['python', 1, 2, 'java', 78, 9, 80, 90, 2, 34, 2] [1, 1, 2, 'java', 78, 9, 80, 90, 2, 34, 2]
使用索引得到列表元素后,通过 = 赋值就改变了元素的值 修改多个元素
python支持通过切边语法给一组元素赋值。在进行这种操作时,如果不指定步长(step参数),python就不要求新赋值的元素个数与原来的元素个数相同;这就意味着,该操作既可以为列表添加元素,也可以为列表删除元素
示例:
list = ["python",1,2,"java",78,9,80,90,2,34,2] print(list) #修改第一个元素到第五个元素(不包含第五个元素) list[0:4] = [1,2,3,4] print(list)
运行结果:
['python', 1, 2, 'java', 78, 9, 80, 90, 2, 34, 2] [1, 2, 3, 4, 78, 9, 80, 90, 2, 34, 2]
如果对空切片(slice)赋值,就相当于插入一组新的元素
示例:
list = ["python",1,2,"java",78,9,80,90,2,34,2] print(list) #对空切片(slice)赋值,就相当于插入一组新的元素 list[4:4] = [1,2,3,4] print(list)
运行结果:
['python', 1, 2, 'java', 78, 9, 80, 90, 2, 34, 2] ['python', 1, 2, 'java', 1, 2, 3, 4, 78, 9, 80, 90, 2, 34, 2]
使用切片语法赋值时,python不支持单个值,比如:list[4:4] = 33这种写法是错误的
但是如果使用字符串赋值,python会自动把字符串转换成序列,其中每个字符都是一个元素
示例
list = ["python",1,2,"java",78,9,80,90,2,34,2] print(list) list[2:4] = "xyz" print(list)
运行结果:
['python', 1, 2, 'java', 78, 9, 80, 90, 2, 34, 2] ['python', 1, 'x', 'y', 'z', 78, 9, 80, 90, 2, 34, 2]
使用切片语法时也可以指定步长(step参数),但这个必须要求所赋值的新元素的个数与原有元素的个数相同
示例:
list = ["python",1,2,"java",78,9,80,90,2,34,2] print(list) list[1:6:2] = [3,4,5] print(list)
运行结果:
['python', 1, 2, 'java', 78, 9, 80, 90, 2, 34, 2] ['python', 3, 2, 4, 78, 5, 80, 90, 2, 34, 2] ————————————————