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

 更新时间:2019年02月18日 15:47:15   作者:deniro_li  
这篇文章主要介绍了Python列表常见操作,结合实例形式总结分析了Python列表常见的获取、增加、删除、修改、排序、计算等相关操作技巧,需要的朋友可以参考下

本文实例讲述了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列表(list)操作技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

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

相关文章

  • PyQt5的PyQtGraph实践系列3之实时数据更新绘制图形

    PyQt5的PyQtGraph实践系列3之实时数据更新绘制图形

    这篇文章主要介绍了PyQt5的PyQtGraph实践系列3之实时数据更新绘制图形,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • Python类的常用高级函数汇总

    Python类的常用高级函数汇总

    这篇文章主要介绍了Python类的常用高级函数汇总,文章围绕python类函数展开详细内容,具有一的的参考价值,需要的小伙伴可以参考一下,希望对你的学习有所帮助
    2022-03-03
  • Python基于聚类算法实现密度聚类(DBSCAN)计算【测试可用】

    Python基于聚类算法实现密度聚类(DBSCAN)计算【测试可用】

    这篇文章主要介绍了Python基于聚类算法实现密度聚类(DBSCAN)计算,结合实例形式分析了聚类算法的相关概念、原理及使用聚类算法进行密度聚类计算的相关操作技巧,需要的朋友可以参考下
    2018-12-12
  • python实现文件分组复制到不同目录的例子

    python实现文件分组复制到不同目录的例子

    这篇文章主要介绍了python实现文件按组复制到不同目录的例子,需要的朋友可以参考下
    2014-06-06
  • 多线程python的实现及多线程有序性

    多线程python的实现及多线程有序性

    这篇文章主要介绍了多线程python的实现及多线程有序性,多线程一般用于同时调用多个函数,cpu时间片轮流分配给多个任务
    2022-06-06
  • Python中pytest的参数化实例解析

    Python中pytest的参数化实例解析

    这篇文章主要介绍了Python中pytest的参数化实例解析,pytest是一个非常成熟的全功能的Python测试框架,主要有简单灵活,容易上手,支持参数化等特点,需要的朋友可以参考下
    2023-07-07
  • 解决Pytorch自定义层出现多Variable共享内存错误问题

    解决Pytorch自定义层出现多Variable共享内存错误问题

    这篇文章主要介绍了解决Pytorch自定义层出现多Variable共享内存错误问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • python 递归调用返回None的问题及解决方法

    python 递归调用返回None的问题及解决方法

    这篇文章主要介绍了python 递归调用返回None的问题,本文通过实例代码给大家记录了解决方案,代码简单易懂,非常不错对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • Django实现文章详情页面跳转代码实例

    Django实现文章详情页面跳转代码实例

    这篇文章主要介绍了Django实现文章详情页面跳转代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • pyqt6实现关闭窗口前弹出确认框的示例代码

    pyqt6实现关闭窗口前弹出确认框的示例代码

    本文主要介绍了pyqt6实现关闭窗口前弹出确认框的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-02-02

最新评论