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 相关文章推荐
在Gnumeric下使用Python脚本操作表格的教程
Apr 14 Python
利用django如何解析用户上传的excel文件
Jul 24 Python
Python操作mysql数据库实现增删查改功能的方法
Jan 15 Python
python3+PyQt5图形项的自定义和交互 python3实现page Designer应用程序
Jul 20 Python
Django如何配置mysql数据库
May 04 Python
python实现播放音频和录音功能示例代码
Dec 30 Python
对python 中re.sub,replace(),strip()的区别详解
Jul 22 Python
多版本python的pip 升级后, pip2 pip3 与python版本失配解决方法
Sep 11 Python
windows python3安装Jupyter Notebooks教程
Apr 13 Python
如何利用python之wxpy模块玩转微信
Aug 17 Python
Python 调用C++封装的进一步探索交流
Mar 04 Python
python3实现无权最短路径的方法
May 12 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中使用Select 查询语句的实例
2014/02/19 PHP
PHP文件下载实例代码浅析
2016/08/17 PHP
php 无限分类 树形数据格式化代码
2016/10/11 PHP
Laravel使用支付宝进行支付的示例代码
2017/08/16 PHP
window.open关于浏览器拦截问题分析及解决方法
2013/02/05 Javascript
js中对象的声明方式以及数组的一些用法示例
2013/12/11 Javascript
jquery实现公告翻滚效果
2015/02/27 Javascript
JavaScript希尔排序、快速排序、归并排序算法
2016/05/08 Javascript
为输入框加入数字js校验代码分享
2017/11/02 Javascript
Javascript中prototype与__proto__的关系详解
2018/03/11 Javascript
微信小程序提交form操作示例
2018/12/30 Javascript
echarts统计x轴区间的数值实例代码详解
2019/07/07 Javascript
深入浅析JavaScript中的in关键字和for-in循环
2020/04/20 Javascript
Python计算一个给定时间点前一个月和后一个月第一天的方法
2018/05/29 Python
浅谈Python在pycharm中的调试(debug)
2018/11/29 Python
python3利用Socket实现通信的方法示例
2019/05/06 Python
Django框架实现的普通登录案例【使用POST方法】
2019/05/15 Python
Python+pyplot绘制带文本标注的柱状图方法
2019/07/08 Python
Python实现基于socket的udp传输与接收功能详解
2019/11/15 Python
Django Path转换器自定义及正则代码实例
2020/05/29 Python
如何清空python的变量
2020/07/05 Python
整理HTML5的一些新特性与Canvas的常用属性
2016/01/29 HTML / CSS
HTML5、Select下拉框右边加图标的实现代码(增进用户体验)
2017/10/16 HTML / CSS
Happy Socks英国官网:购买五颜六色的袜子
2020/11/03 全球购物
餐厅总经理岗位职责
2013/12/31 职场文书
书法比赛获奖感言
2014/02/10 职场文书
竞选部门副经理的自荐书范文
2014/02/11 职场文书
质量提升方案
2014/06/16 职场文书
小学绿色学校申报材料
2014/08/23 职场文书
父亲节活动策划方案
2014/08/24 职场文书
农民工工资支付承诺书
2015/05/04 职场文书
学校世界艾滋病日宣传活动总结
2015/05/05 职场文书
python中如何对多变量连续赋值
2021/06/03 Python
详解MySQL多版本并发控制机制(MVCC)源码
2021/06/23 MySQL
DE1103使用报告
2022/04/05 无线电
PostgreSQL并行计算算法及参数强制并行度设置方法
2022/04/06 PostgreSQL