Python列表常见操作详解(获取,增加,删除,修改,排序等)


Posted in Python onFebruary 18, 2019

本文实例讲述了Python列表常见操作。分享给大家供大家参考,具体如下:

列表是由一系列按特定顺序排列的元素组成的对象。因为列表通常包含多个元素, 所以建议给列表指定一个表示复数的名称。

我们用方括号( [] ) 来表示列表, 并用逗号来分隔其中的元素。

types=['娱乐','体育','科技']
print(types)

运行结果:

['娱乐', '体育', '科技']

可以看到,打印列表的同时,也会将方括号打印出来。

1 获取元素

要获取列表中的某个元素, 在方括号内指定元素的索引即可:

print('第三个类型:'+types[2])

运行结果:

第三个类型:科技

当我们请求获取列表元素时, 只会返回该元素本身。

2 索引从 0 开始

跟大多数编程语言相同,索引从 0 开始计数。因此,需要获取列表的任何元素, 都可将其位置减1, 作为索引。

将索引指定为 -1,还可以获取最后一个列表元素,这样就可以在不知道列表长度的情况下,获取最后一个元素:

print('最后一个:'+types[-1])

运行结果:

最后一个:科技

这种语法也适用于其他负数索引。索引 -2 获取倒数第二个列表元素, 索引 -3 获取倒数第三个列表元素, 以此类推。

print('倒数第二个:'+types[-2])

运行结果:

倒数第二个:体育

3 新增元素

  • 3.1 列表末尾

append() 方法可以将元素附加到列表末尾:

types.append('财经')
print(types)

运行结果:

['娱乐', '体育', '科技', '财经']

append() 方法很适合动态地创建列表。我们可以先创建一个空列表, 然后再使用一系列的append() 方法为列表添加元素。

colors=[]
colors.append('绿色')
colors.append('蓝色')
colors.append('紫色')
print(colors)

运行结果:

['绿色', '蓝色', '紫色']

  • 3.2 指定位置

insert() 可以在列表的任意位置添加新元素。这个方法的入参是新元素的索引和值。

colors.insert(0,'红色')
print(colors)

运行结果:

['红色', '绿色', '蓝色', '紫色']

在这个示例中, 值 ' 红色' 被插入到了列表头,列表中既有的元素都右移了一个位置。

4 修改元素

修改列表元素的语法与获取列表元素的语法相似。我们可指定列表名、要修改的元素索引以及新值:

colors[0]='白色'
print(colors)

运行结果:

['白色', '绿色', '蓝色', '紫色']

5 删除元素

  • 5.1 del()

如果知道要删除的元素在列表中的位置,那么可以使用 del():

del colors[0]
print(colors)

运行结果:

['绿色', '蓝色', '紫色']

  • 5.2 pop()

把列表想象成一个栈。pop() 方法会弹出栈顶元素(即列表末尾最后一个元素),并返回这个元素。

print('执行前:'+str(colors))
poped_color=colors.pop()
print('栈顶元素:'+poped_color)
print('执行后:'+str(colors))

运行结果:

执行前:['绿色', '蓝色', '紫色']
栈顶元素:紫色
执行后:['绿色', '蓝色']

只要指定好要删除的元素索引,pop() 也可以用来删除列表中任何位置的元素:

print('执行前:'+str(colors))
poped_color=colors.pop(0)
print('删除的元素:'+poped_color)
print('执行后:'+str(colors))

运行结果:

执行前:['绿色', '蓝色']
删除的元素:绿色
执行后:['蓝色']

  • 5.3 比较 del()pop()

del() :从列表中删除一个元素, 且不再使用它。
pop():从列表中删除一个元素, 且还需要使用它。

  • 5.4 根据值删除 remove()
print('执行前:'+str(colors))
colors.remove('蓝色')
print('执行后:'+str(colors))

运行结果:

执行前:['蓝色']
执行后:[]

**注意:**remove() 只会删除第一个指定的值。 如果需要删除多个指定的值, 那么就需要使用循环咯O(∩_∩)O~

6 排序

  • 6.1 永久性排序 sort()
types=['sport','travel','business']
types.sort()
print("按字母顺序正序排序后:"+str(types));
types.sort(reverse=True)
print("按字母顺序逆序排序后:"+str(types));

运行结果:

按字母顺序正序排序后:['business', 'sport', 'travel']
按字母顺序逆序排序后:['travel', 'sport', 'business']

sort() 会永久性(再也恢复不回去咯)地改变列表元素的排列顺序(按字母顺序)。如果需要对中文的拼音进行排序,需要引入第三方库。

sort() 方法传递参数 reverse=True,就可以按照字母顺序逆序的规则来排列元素。

  • 6.2 临时排序 sorted()

函数sorted() 可以保留列表元素原有的排列顺序, 同时返回排序后的列表。

types=['sport','travel','business']
print("排序后:"+str(sorted(types)));
print("原列表:"+str(types));
print("按字母顺序逆序排序后:"+str(sorted(types,reverse=True)));

运行结果:

排序后:['business', 'sport', 'travel']
原列表:['sport', 'travel', 'business']
按字母顺序逆序排序后:['travel', 'sport', 'business']

**注意:**调用函数 sorted() 后, 原有列表的元素排列顺序没有被改变,所以叫临时排序。

sorted() 函数也支持参数 reverse=True,按照字母顺序逆序的规则来排列元素。

  • 6.3 倒序 reverse()

reverse() 会反转列表原有元素的排列顺序。

types=['娱乐','体育','科技']
print('倒序前:'+str(types))
types.reverse()
print('倒序后:'+str(types))

运行结果:

倒序前:['娱乐', '体育', '科技']
倒序后:['科技', '体育', '娱乐']

7 列表长度 len()

types=['娱乐','体育','科技']
print(len(types))

运行结果:

3

8 索引错误

发生索引错误时, 建议将列表或长度打印出来,通过查看这些内容, 可以帮助我们找出错误引发的原因哦O(∩_∩)O~

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python程序语言快速上手教程
Jul 18 Python
python批量同步web服务器代码核心程序
Sep 01 Python
读取json格式为DataFrame(可转为.csv)的实例讲解
Jun 05 Python
对python numpy.array插入一行或一列的方法详解
Jan 29 Python
Python 使用多属性来进行排序
Sep 01 Python
Python中zip()函数的简单用法举例
Sep 02 Python
python基于gevent实现并发下载器代码实例
Nov 01 Python
Django 返回json数据的实现示例
Mar 05 Python
Python dict和defaultdict使用实例解析
Mar 12 Python
python3排序的实例方法
Oct 20 Python
pyspark对Mysql数据库进行读写的实现
Dec 30 Python
详解pycharm的python包opencv(cv2)无代码提示问题的解决
Jan 29 Python
Python File(文件) 方法整理
Feb 18 #Python
Python异常处理知识点总结
Feb 18 #Python
Python os.access()用法实例
Feb 18 #Python
python使用pipeline批量读写redis的方法
Feb 18 #Python
Python变量类型知识点总结
Feb 18 #Python
Python中文编码知识点
Feb 18 #Python
对Python的多进程锁的使用方法详解
Feb 18 #Python
You might like
PHP 日常开发小技巧
2009/09/23 PHP
七款最流行的PHP本地服务器分享
2013/02/19 PHP
php生成txt文件标题及内容的方法
2014/01/16 PHP
使用swoole扩展php websocket示例
2014/02/13 PHP
高性能PHP框架Symfony2经典入门教程
2014/07/08 PHP
高质量PHP代码的50个实用技巧必备(上)
2016/01/22 PHP
thinkPHP5.0框架简单配置作用域的方法
2017/03/17 PHP
PHP的简单跳转提示的实现详解
2019/03/14 PHP
window.event快达到全浏览器支持了,以后使用就方便了
2011/11/30 Javascript
jquery写个checkbox——类似邮箱全选功能
2013/03/19 Javascript
Javascript设置对象的ReadOnly属性(示例代码)
2013/12/25 Javascript
WEB前端设计师常用工具集锦
2014/12/09 Javascript
jQuery实现可用于博客的动态滑动菜单
2015/03/09 Javascript
一种基于浏览器的自动小票机打印实现方案(js版)
2016/07/26 Javascript
JS中使用mailto实现将用户在网页中输入的内容传递到本地邮件客户端
2016/10/08 Javascript
详细讲解JavaScript中的this绑定
2016/10/10 Javascript
Angular的MVC和作用域
2016/12/26 Javascript
p5.js实现动态图形临摹
2019/10/23 Javascript
vuex actions异步修改状态的实例详解
2019/11/06 Javascript
Python引用(import)文件夹下的py文件的方法
2014/08/26 Python
python生成器generator用法实例分析
2015/06/04 Python
使用Python简单的实现树莓派的WEB控制
2016/02/18 Python
windows系统下Python环境的搭建(Aptana Studio)
2017/03/06 Python
Python数据分析之如何利用pandas查询数据示例代码
2017/09/01 Python
Python设计模式之桥接模式原理与用法实例分析
2019/01/10 Python
python 字典访问的三种方法小结
2019/12/05 Python
Pycharm创建文件时自动生成文件头注释(自定义设置作者日期)
2020/11/24 Python
python安装及变量名介绍详解
2020/12/12 Python
python爬虫实现爬取同一个网站的多页数据的实例讲解
2021/01/18 Python
CSS3中的元素过渡属性transition示例详解
2016/11/30 HTML / CSS
HTML5不支持frameset的两种解决方法
2016/11/14 HTML / CSS
2014年教师节寄语
2014/04/03 职场文书
《宿建德江》教学反思
2014/04/23 职场文书
群众路线个人剖析材料
2014/10/07 职场文书
找规律教学反思
2016/02/23 职场文书
python中的sys模块和os模块
2022/03/20 Python