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实时分析日志的一个小脚本分享
May 07 Python
基于循环神经网络(RNN)的古诗生成器
Mar 26 Python
python中 * 的用法详解
Jul 10 Python
Python的垃圾回收机制详解
Aug 28 Python
Python3读写Excel文件(使用xlrd,xlsxwriter,openpyxl3种方式读写实例与优劣)
Feb 13 Python
基于python纯函数实现井字棋游戏
May 27 Python
python3.6.5基于kerberos认证的hive和hdfs连接调用方式
Jun 06 Python
python GUI模拟实现计算器
Jun 22 Python
Django自定义YamlField实现过程解析
Nov 11 Python
python opencv图像处理(素描、怀旧、光照、流年、滤镜 原理及实现)
Dec 10 Python
matplotlib阶梯图的实现(step())
Mar 02 Python
使用python创建股票的时间序列可视化分析
Mar 03 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的curl实现get和post的代码
2008/08/23 PHP
Yii的Srbac插件用法详解
2016/07/14 PHP
微信公众号OAuth2.0网页授权问题浅析
2017/01/21 PHP
workerman结合laravel开发在线聊天应用的示例代码
2018/10/30 PHP
PHP进阶学习之Geo的地图定位算法详解
2019/06/19 PHP
php 命名空间(namespace)原理与用法实例小结
2019/11/13 PHP
我的Node.js学习之路(四)--单元测试
2014/07/06 Javascript
使用原生JS实现弹出层特效
2014/12/22 Javascript
js函数与php函数的区别实例浅析
2015/01/12 Javascript
jQuery中offsetParent()方法用法实例
2015/01/19 Javascript
深入理解JavaScript系列(31):设计模式之代理模式详解
2015/03/03 Javascript
深入理解JavaScript系列(34):设计模式之命令模式详解
2015/03/03 Javascript
JQuery中$.each 和$(selector).each()的区别详解
2015/03/13 Javascript
贴近用户体验的Jquery日期、时间选择插件
2015/08/19 Javascript
JavaScript基本数据类型及值类型和引用类型
2015/08/25 Javascript
微信小程序 定位到当前城市实现实例代码
2017/02/23 Javascript
js实现类似iphone的网页滑屏解锁功能示例【附源码下载】
2019/06/10 Javascript
[11:01]2014DOTA2西雅图邀请赛 冷冷带你探秘威斯汀
2014/07/08 DOTA
python中文编码问题小结
2014/09/28 Python
python append、extend与insert的区别
2016/10/13 Python
Python学习之Anaconda的使用与配置方法
2018/01/04 Python
python进阶之多线程对同一个全局变量的处理方法
2018/11/09 Python
利用PyCharm操作Github(仓库新建、更新,代码回滚)
2019/12/18 Python
Python异步编程之协程任务的调度操作实例分析
2020/02/01 Python
python不到50行代码完成了多张excel合并的实现示例
2020/05/28 Python
使用CSS媒体查询(Media Queries)和JavaScript判断浏览器设备类型的方法
2014/04/03 HTML / CSS
医药代表个人求职信范本
2013/12/19 职场文书
农村改厕实施方案
2014/03/22 职场文书
数学高效课堂实施方案
2014/03/29 职场文书
保证书范文大全
2014/04/28 职场文书
高中家长意见怎么写
2015/06/03 职场文书
离开雷锋的日子观后感
2015/06/09 职场文书
2016年10月份红领巾广播稿
2015/12/21 职场文书
php将xml转化对象的实例详解
2021/11/17 PHP
正则表达式拆分url实例代码
2022/02/24 Java/Android
Python sklearn分类决策树方法详解
2022/09/23 Python