Python列表操作方法详解


Posted in Python onFebruary 09, 2020

本节内容

  • 0、列表常用功能汇总
  • 1、定义列表
  • 2、访问列表中的元素
  • 3、切片
  • 4、追加
  • 5、插入
  • 6、修改
  • 7、拷贝
  • 8、删除
  • 9、扩展
  • 10、统计
  • 11、翻转
  • 12、排序
  • 13、获取下标值
  • 14、清空列表

列表是Python最常用的数据类型之一,通过列表可以对数据实现最方便的存储、修改等操作

0、列表常用功能汇总

Python列表操作方法详解

1、定义列表

>>> name=[]#定义空列表
>>> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
#定义一个非空列表

 2、访问列表中的元素

>>> name=[]
>>> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
>>> name[0]
'luoahong'
>>> name[1]
'chenqun'
>>> name[2]
'wenhai'
>>> name[3]
'daiqiao'
>>> name[-1]#倒着取最后一个值
'guiwei'
>>> name[-2]
'xiedi'

 注:列表的下标值是从0开始取值的

3、切片

>>> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
>>> name[1:3]
['chenqun', 'wenhai']
>>> name[1:-1]
['chenqun', 'wenhai', 'daiqiao', 'xiedi']
>>> name[0:3]
['luoahong', 'chenqun', 'wenhai']
>>> name[:3]
['luoahong', 'chenqun', 'wenhai']
>>> name[3:]
['daiqiao', 'xiedi', 'guiwei']
>>> name[:2]
['luoahong', 'chenqun']
>>> name[::2]
['luoahong', 'wenhai', 'xiedi']

切片小结:

①序列始终都是从左向右切片的,不能是从右向左

①列表切片时,起始位的元素是包括的,结束位的元素是不包括(又叫顾头不顾尾),最后一个位置表示步长(names[开始位:结束位:步长])

②如果从0位置取值,0可以省略

③想取最后一个值时,结束位不能是-1,因为结束位的元素不包括,所以只能留空

4、追加(append(元素))

>>> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
>>> name.append("liuhailin")
>>> name
['luoahong', 'chenqun', 'wenhai', 'daiqiao', 'xiedi', 'guiwei', 'liuhailin']#liuhailin是新加的

5、插入(insert(下标值,插入的内容))

>>> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
>>> name.insert(0,"liyang")#0表示需要插入的下标值,'1'表示插入的内容
>>> name
['liyang', 'luoahong', 'chenqun', 'wenhai', 'daiqiao', 'xiedi', 'guiwei'] 
#在下标值为0的地方插入liyang

 6、修改

>>> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
>>> name[1]='chenqundage'
>>> name
['luoahong', 'chenqundage', 'wenhai', 'daiqiao', 'xiedi', 'guiwei']

 注:修改列表中的元素,直接是 names[下标值] = 新值

7、拷贝(copy())

>>> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
>>> name2=name.copy()
>>> name2
['luoahong', 'chenqun', 'wenhai', 'daiqiao', 'xiedi', 'guiwei']

 注:这边的copy都是浅copy,只能copy第一层。深浅拷贝的详细信息:

8、删除(del、remove(元素)、pop())

#根据下标值删除元素
>>> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
>>> del name[0]
>>> name
['chenqun', 'wenhai', 'daiqiao', 'xiedi', 'guiwei']
#根据元素删除
>>> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
>>> name.remove('xiedi')
>>> name
['luoahong', 'chenqun', 'wenhai', 'daiqiao', 'guiwei']
#删除最后一个
>>> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
>>> name.pop()
'guiwei'
>>>
>>> 

 注:

①如果pop()中有下标值,则是删掉具体某个元素,其效果和del的效果是一样的

>>> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
>>> name.pop(1) #在输入下标值得情况下和del的效果是一样的
'chenqun'
>>> name
['luoahong', 'wenhai', 'daiqiao', 'xiedi', 'guiwei']

②del关键字不仅可以删除列表中的元素,也可以删除变量

>>> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
#删除name这个变量
 del name
>>> name
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
NameError: name 'name' is not defined

 注:

①如果pop()中有下标值,则是删掉具体某个元素,其效果和del的效果是一样的

②del关键字不仅可以删除列表中的元素,也可以删除变量

 9、扩展(extend)

>>> name1=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
>>> name2=['1','2','3','4','5','6']
>>> name1.extend(name2)
>>> name1
['luoahong', 'chenqun', 'wenhai', 'daiqiao', 'xiedi', 'guiwei', '1', '2', '3', '4', '5', '6']

注:names2的列表合并到names1中,但是,names2这个列表依然存在,如果想删除names2这个变量,则只需del names2即可

10、统计(count(元素))

>>> name1=['luoahong','chenqun','wenhai','daiqiao','chenqun','xiedi','guiwei','chenqun']
>>> name1.count('chenqun')#统计元素'chenqun'元素的个数
3

 11、翻转(reverse())

>>> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
>>> name.reverse()
>>> name
['guiwei', 'xiedi', 'daiqiao', 'wenhai', 'chenqun', 'luoahong'] #将整个列表翻转过来

 12、排序(sort())

>>> name=['4','3','2','1']
>>> name.sort()
>>> name
['1', '2', '3', '4']

 13、获取下标值(index(元素))

>>> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
>>> name.index('chenqun')
1

 14、清空列表(clear())

>>> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
>>> name.clear()
NameError: name 'names' is not defined
>>> name
[]

更多关于Python列表操作方法请查看下面的相关链接

Python 相关文章推荐
使用Python脚本将绝对url替换为相对url的教程
Apr 24 Python
python snownlp情感分析简易demo(分享)
Jun 04 Python
pyhton列表转换为数组的实例
Apr 04 Python
tensorflow: 查看 tensor详细数值方法
Jun 13 Python
python中的decorator的作用详解
Jul 26 Python
Django Sitemap 站点地图的实现方法
Apr 29 Python
Python函数装饰器原理与用法详解
Aug 16 Python
Python上下文管理器用法及实例解析
Nov 11 Python
Django调用支付宝接口代码实例详解
Apr 04 Python
使用Numpy对特征中的异常值进行替换及条件替换方式
Jun 08 Python
python集合的新增元素方法整理
Dec 07 Python
使用pd.merge表连接出现多余行的问题解决
Jun 16 Python
Python2与Python3的区别详解
Feb 09 #Python
python默认参数调用方法解析
Feb 09 #Python
Python集合操作方法详解
Feb 09 #Python
Python字符编码转码之GBK,UTF8互转
Feb 09 #Python
Python基础之字符串操作常用函数集合
Feb 09 #Python
python连接PostgreSQL过程解析
Feb 09 #Python
Python +Selenium解决图片验证码登录或注册问题(推荐)
Feb 09 #Python
You might like
php截取utf-8中文字符串乱码的解决方法
2010/03/29 PHP
JavaScript高级程序设计
2006/12/29 Javascript
用 Javascript 验证表单(form)中多选框(checkbox)值
2009/09/08 Javascript
Jquery+JSon 无刷新分页实现代码
2010/04/01 Javascript
jquery 插件学习(六)
2012/08/06 Javascript
jQuery实现等比例缩放大图片让大图片自适应页面布局
2013/10/16 Javascript
jQuery on()方法使用技巧详解
2015/04/16 Javascript
JavaScript模拟深蓝vs卡斯帕罗夫的国际象棋对局示例
2015/04/22 Javascript
Bootstrap简单表单显示学习笔记
2016/11/15 Javascript
原生JS轮播图插件
2017/02/09 Javascript
面试常见的js算法题
2017/03/23 Javascript
vue基于Vue2.0和高德地图的地图组件实例
2017/04/28 Javascript
详解vue axios二次封装
2018/07/22 Javascript
解决select2在bootstrap modal中不能正常使用的问题
2018/08/09 Javascript
vue-cli3 karma单元测试的实现
2019/01/18 Javascript
vue element 关闭当前tab 跳转到上一路由操作
2020/07/22 Javascript
python将文本转换成图片输出的方法
2015/04/28 Python
Selenium控制浏览器常见操作示例
2018/08/13 Python
解决pycharm运行出错,代码正确结果不显示的问题
2018/11/30 Python
Python推导式简单示例【列表推导式、字典推导式与集合推导式】
2018/12/04 Python
浅谈Python中的可迭代对象、迭代器、For循环工作机制、生成器
2019/03/11 Python
解决Python计算矩阵乘向量,矩阵乘实数的一些小错误
2019/08/26 Python
tensorflow 固定部分参数训练,只训练部分参数的实例
2020/01/20 Python
基于Pyinstaller打包Python程序并压缩文件大小
2020/05/28 Python
css3 transform属性详解
2014/09/30 HTML / CSS
解决html5中video标签无法播放mp4问题的办法
2017/05/07 HTML / CSS
美国快时尚彩妆品牌:Winky Lux(透明花瓣润唇膏)
2018/11/06 全球购物
物理专业本科生自荐信
2014/01/30 职场文书
《老山界》教学反思
2014/04/08 职场文书
班级文化标语
2014/06/23 职场文书
个人查摆剖析材料
2014/10/16 职场文书
幼儿园托班开学寄语(2015秋季)
2015/05/27 职场文书
敬老院活动感想
2015/08/07 职场文书
springboot拦截器无法注入redisTemplate的解决方法
2021/06/27 Java/Android
浅谈TypeScript 索引签名的理解
2021/10/16 Javascript
Win11开始菜单添加休眠选项
2022/04/19 数码科技