通过切片来修改列表
- 1、 修改元素
# 在给切片进行赋值时,只能使用序列
# 例:
# 使用新的元素替换旧元素
stus = ['孙悟空','猪八戒','沙和尚','唐僧','蜘蛛精','白骨精']
print("修改前:",stus) # ['孙悟空', '猪八戒', '沙和尚', '唐僧', '蜘蛛精', '白骨精']
stus[0:2] ='swk'
print("修改后:",stus) # ['s', 'w', 'k', '沙和尚', '唐僧', '蜘蛛精', '白骨精']
stus[0:2] = ['牛魔王','红孩儿']
print("修改后:",stus) # ['牛魔王', '红孩儿', 'k', '沙和尚', '唐僧', '蜘蛛精', '白骨精']
stus[0:2] = ['牛魔王','红孩儿','二郎神']
print("修改后:",stus) # ['牛魔王', '红孩儿', '二郎神', 'k', '沙和尚', '唐僧', '蜘蛛精', '白骨精']
- 2、 插入元素
# 向索引为 0 的位置插入元素
stus[0:0] = ['牛魔王']
print("修改后:",stus) # ['牛魔王', '牛魔王', '红孩儿', '二郎神', 'k', '沙和尚', '唐僧', '蜘蛛精', '白骨精']
# 当设置了步长时,序列中元素的个数必须和切片中元素的个数一致,
例:
stus = ['孙悟空','猪八戒','沙和尚','唐僧','蜘蛛精','白骨精']
stus[::2] = ['牛魔王','红孩儿','二郎神']
print(stus[::2]) # ['牛魔王', '红孩儿', '二郎神']
- 3、 删除元素
例:
del stus[0:2]
del stus[::2]
stus[1:3] = []
以上操作,只适用于可变序列,
例:
s = "hello"
print(s[ : :2]) # hlo
s[1] = 'a' # 字符串是不可变序列,无法通过索引来修改
# 会报错:TypeError: 'str' object does not support item assignment