当前位置: > python教程 > python基础教程 >

python修改列表
栏目分类:python基础教程   发布日期:2019年06月22日 17:14:56   浏览次数:


python列表中的元素是可变的,是可以修改的,可以通过索引或者切片来修该列表 第一种,直接通过索引来修改元素,下标,第一个元素的下标是0,最大下标是-1,如果超出最大下标会报错,IndexError: list assignment index out of range python列表修改 案例:修改列表中第一个元素, # 创建列表
stus = ['王老三','李四','王五','二麻子']
print("修改前:",stus)
stus[0] = '隔壁老王' 
print('修改后:',stus) 结果:
修改前: ['王老三', '李四', '王五', '二麻子']
修改后: ['隔壁老王', '李四', '王五', '二麻子'] 注意:修改时不能超出了,下面的就会报错
# 创建列表
stus = ['王老三','李四','王五','二麻子']
print("修改前:",stus)
stus[5] = '隔壁老王'  #直接通过索引来修改元素
print('修改后:',stus)
结果:

 File "C:/Users/tianxia/PycharmProjects/demo1/test.py", line 4, in <module>
    stus[5] = '隔壁老王'  #直接通过索引来修改元素
IndexError: list assignment index out of range

第二种,通过切片来修改列表,下面修改列表中前二个

stus = ['王老三','李四','王五','二麻子']
print("修改前:",stus)
stus[0:2] = ['红姑','二傻子']
print('修改后:',stus)


结果:

修改前: ['王老三', '李四', '王五', '二麻子']
修改后: ['红姑', '二傻子', '王五', '二麻子'] 注意:在给切片进行赋值时,只能使用序列 下面的你可以自己去试试,在python环境中运行一下
如果切片变成0:0,那就是向索引为0的位置插入元素
stus[0:0] = ['小雪'] 切片也可以设置第三个值,这个时候就会跟一个位置替换
# 创建列表
stus = ['王老三','李四','王五','二麻子']
print('修改前:',stus)
stus[::2] = ['红姑','二傻子']

print('修改后:',stus)

结果:

修改前: ['王老三', '李四', '王五', '二麻子']
修改后: ['红姑', '李四', '二傻子', '二麻子']

第三个值该成3

stus[::3] = ['红姑','二傻子']

结果:

修改前: ['王老三', '李四', '王五', '二麻子']
修改后: ['红姑', '李四', '王五', '二傻子']
注意:如果当设置了步长时,序列中元素的个数必须和切片中元素的个数一致,下面的就会报错这个就是报错
# 创建列表
stus = ['王老三','李四','王五','二麻子']
print('修改前:',stus)
stus[::2] = ['红姑','二傻子',['隔壁老王']]

print('修改后:',stus)

结果:

  File "C:/Users/tianxia/PycharmProjects/demo1/test.py", line 4, in <module>
    stus[::2] = ['红姑','二傻子',['隔壁老王']]
ValueError: attempt to assign sequence of size 3 to extended slice of size 2

相关热词:

热门关键词
python字符串
     
python教程 python爬虫 python人工智能 Python+大数据 python问答