Python学习易错点-列表
来源:互联网 发布:脉脉职场 知乎 编辑:程序博客网 时间:2024/06/18 10:45
更改一个列表有许多方法
1.对列表切片进行切片
如 t=[1,2,3,4] temp=t[1:3] 则temp=[2,3] 不包括下标为3的元素
如果切片操作符出现在左侧 可以直接更新列表中元素
如t[1:3]=[‘a’,’b’] 则t=[1,’a’,’b’,4]
切片操作会新建一个列表
若定义函数
def bad_deleted_head(l): l=l[1:]
若调用该函数
bad_deleted_head(t)
列表并没有发生变化,即t=[1,2,3,4]
《像计算机科学家一样思考python》中使用此例并作以解释:切片操作会新建一个列表,而复制操作会让t引用指向这个新的列表,但这些操作对调用者没有影响。在函数的开始t和nums指向同一个列表。在函数最后nums指向一个新的列表,但t仍旧没有改变
书中也给出一个解决方案 即不修改原列表,返回一个新列表
def tail(l): return l[1:]
需注意的地方是,在不使用函数,直接调用语句t=t[1:],切片成功,t更新为去掉原来首元素的列表
2.使用方法对列表进行更改
列表的方法大多是无返回值的,直接修改原列表。
使用append(x),可以在列表尾部添加新的元素x
使用extend(tt),可以对两个列表拼接 将传入的列表tt中的所有元素添加到原列表尾部
删除元素的列表方法比较多
1).使用pop(a),常数a是被删除元素的下标,若不提供下标则删除列表尾元素。该方法会返回被删除元素的值。
x=t.pop(1) #删除下标1的元素并返回该元素的值y=t.pop() #删除列表尾元素并返回该元素的值
2)使用del 操作符,返回None,该操作符可以对列表切片从而删除多个元素
del t[1:3] #删除t列表下标范围[1,3)的元素del t[0] #删除t列表下标为1的元素
3)使用remove(x),需已知被删除元素的值
t.remove(1) #删除t中值为1的元素
继续思考使用函数修改原列表的问题
若定义函数
def deleted_last(l) l.pop()
使用函数deleted_last(t),传入的列表被更改,即t=[1,2,3]
3.使用+操作符和*操作符
t=[1,2,3]t=t+[4,5] #更新t=[1,2,3,4,5]t=t*2 #更新t=[1,2,3,4,5,1,2,3,4,5]
阅读全文
0 0
- Python学习易错点-列表
- [python学习]列表复制
- python 学习列表
- python学习-列表(list)
- Python 基础学习 列表
- python学习--列表函数
- python学习---列表
- Python学习 --- 列表
- python列表学习1
- python列表学习2
- python列表学习3
- python 学习笔记-列表
- python学习之列表
- python学习2-列表
- Python列表解析学习
- Python学习(列表)
- python基础学习--列表
- python学习:列表
- 谷歌发布TensorFlow 1.4与TensorFlow Lattice:利用先验知识提升模型准确度 搜狐科技 10-12 15:29 选自:Google Research Blog 参与:李泽南、
- STM32空闲中断+DMA解决接收不定长数据问题
- [codevs1159]最大全0子矩阵(极大子矩阵)
- 语音专题第一讲,麦克风阵列的语音信号处理技术
- MySql学习笔记(4)--SQL(DML)语句语法
- Python学习易错点-列表
- 剑指offer中的快排
- 调试器工作原理之(三):研究调试信息
- 第一篇博客
- python2和python3部分版本问题总结
- c 语言程序设计 程序代码及基础知识
- 百度公司涉足的领域
- BZOJ1726 Roadblocks第二短路 [次短路]
- 将两个数组合并为一个数组并排序