详解列表的5个数据操作 | 手把手教你入门Python之三十二

简介: 本节重点介绍列表的数据操作

上一篇:列表的基本使用介绍 | 手把手教你入门Python之三十一
下一篇:列表的循环遍历 | 手把手教你入门Python之三十三

本文来自于千锋教育在阿里云开发者社区学习中心上线课程《Python入门2020最新大课》,主讲人姜伟。

列表的数据操作

我们对于可变数据(例如,列表,数据库等)的操作,⼀般包含增、删、改、查四个⽅⾯。

一、添加元素

添加元素有⼀下⼏个⽅法:

  • append 在末尾添加元素
  • insert 在指定位置插⼊元素
  • extend 合并两个列表

append

append会把新元素添加到列表末尾

#定义变量A,默认有3个元素
 A = ['xiaoWang','xiaoZhang','xiaoHua']
 print("-----添加之前,列表A的数据-----A=%s" % A)
 #提示、并添加元素
 temp = input('请输⼊要添加的学⽣姓名:')
 A.append(temp)
 print("-----添加之后,列表A的数据-----A=%s" % A)

insert

insert(index, object) 在指定位置index前插⼊元素object

strs = ['a','b','m','s']
strs.insert(3,'h')
print(strs) # ['a', 'b', 'm', 'h', 's']

extend

通过extend可以将另⼀个集合中的元素逐⼀添加到列表中

a = ['a','b','c']
b = ['d','e','f']
a.extend(b)
print(a) # ['a', 'b', 'c', 'd', 'e', 'f'] 将 b 添加到 a ⾥
print(b) # ['d','e','f'] b的内容不变

image.png

image.png

二、修改元素

我们是通过指定下标来访问列表元素,因此修改元素的时候,为指定的列表下标赋值即可。

#定义变量A,默认有3个元素
 A = ['xiaoWang','xiaoZhang','xiaoHua']
 print("-----修改之前,列表A的数据-----A=%s" % A)
 #修改元素
 A[1] = 'xiaoLu'
 print("-----修改之后,列表A的数据-----A=%s" % A)

image.png

三、查找元素

所谓的查找,就是看看指定的元素是否存在,以及查看元素所在的位置,主要包含⼀下⼏个⽅法:

  • in 和 not in
  • index 和 count

in, not in

python中查找的常⽤⽅法为:

  • in(存在),如果存在那么结果为true,否则为false
  • not in(不存在),如果不存在那么结果为true,否则false
#待查找的列表
 nameList = ['xiaoWang','xiaoZhang','xiaoHua']
 #获取⽤户要查找的名字
 findName = input('请输⼊要查找的姓名:')
 #查找是否存在
 if findName in nameList:
 print('在列表中找到了相同的名字')
 else:
 print('没有找到')

结果1:(找到)

image.png

结果2:(没有找到)
image.png
说明:
in的⽅法只要会⽤了,那么not in也是同样的⽤法,只不过not in判断的是不存在

index, count

index⽤来查找元素所在的位置,如果未找到则会报错;count⽤来计算某个元素出现的次数。它们的使⽤和
字符串⾥的使⽤效果⼀致。

>>> a = ['a', 'b', 'c', 'a', 'b']
>>> a.index('a', 1, 3) # 注意是左闭右开区间
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
ValueError: 'a' is not in list
>>> a.index('a', 1, 4)
3
>>> a.count('b')
2
>>> a.count('d')
0

四、删除元素

类⽐现实⽣活中,如果某位同学调班了,那么就应该把这个条⾛后的学⽣的姓名删除掉;在开发中经常会⽤
到删除这种功能。
列表元素的常⽤删除⽅法有:

  • del:根据下标进⾏删除
  • pop:删除最后⼀个元素
  • remove:根据元素的值进⾏删除

del

movieName = ['加勒⽐海盗','骇客帝国','第⼀滴⾎','指环王','霍⽐特⼈','速度与激情']
print('------删除之前------movieName=%s' % movieName)
del movieName[2]
print('------删除之后------movieName=%s' % movieName)

pop

movieName = ['加勒⽐海盗','骇客帝国','第⼀滴⾎','指环王','霍⽐特⼈','速度与激情']
print('------删除之前------movieName=%s' % movieName)
movieName.pop()
print('------删除之后------movieName=%s' % movieName)

remove

movieName = ['加勒⽐海盗','骇客帝国','第⼀滴⾎','指环王','霍⽐特⼈','速度与激情']
print('------删除之前------movieName=%s' % movieName)
movieName.remove('指环王')
print('------删除之后------movieName=%s' % movieName)

image.png

image.png

五、排序(sort, reverse)

sort⽅法是将list按特定顺序重新排列,默认为由⼩到⼤,参数reverse=True可改为倒序,由⼤到⼩。
reverse⽅法是将list逆置。

>>> a = [1, 4, 2, 3]
>>> a
[1, 4, 2, 3]
>>> a.reverse() # 逆置,不排序
>>> a
[3, 2, 4, 1]
>>> a.sort() # 默认从⼩到⼤排序
>>> a
[1, 2, 3, 4]
>>> a.sort(reverse=True) # 从⼤到⼩排序
>>> a
[4, 3, 2, 1]

练习

请删除列表 words = ['hello','',','good','hi','','yes','','no'] ⾥所有的空字符串。

相关文章
|
26天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
9天前
|
索引 Python
Python列表
Python列表。
38 8
|
6天前
|
数据采集 Web App开发 监控
Python爬虫:爱奇艺榜单数据的实时监控
Python爬虫:爱奇艺榜单数据的实时监控
|
12天前
|
C语言 Python
[oeasy]python054_python有哪些关键字_keyword_list_列表_reserved_words
本文介绍了Python的关键字列表及其使用规则。通过回顾`hello world`示例,解释了Python中的标识符命名规则,并探讨了关键字如`if`、`for`、`in`等不能作为变量名的原因。最后,通过`import keyword`和`print(keyword.kwlist)`展示了Python的所有关键字,并总结了关键字不能用作标识符的规则。
26 9
|
20天前
|
数据挖掘 大数据 数据处理
python--列表list切分(超详细)
通过这些思维导图和分析说明表,您可以更直观地理解Python列表切分的概念、用法和实际应用。希望本文能帮助您更高效地使用Python进行数据处理和分析。
44 14
|
22天前
|
数据挖掘 大数据 数据处理
python--列表list切分(超详细)
通过这些思维导图和分析说明表,您可以更直观地理解Python列表切分的概念、用法和实际应用。希望本文能帮助您更高效地使用Python进行数据处理和分析。
32 10
|
27天前
|
测试技术 开发者 Python
探索Python中的装饰器:从入门到实践
装饰器,在Python中是一块强大的语法糖,它允许我们在不修改原函数代码的情况下增加额外的功能。本文将通过简单易懂的语言和实例,带你一步步了解装饰器的基本概念、使用方法以及如何自定义装饰器。我们还将探讨装饰器在实战中的应用,让你能够在实际编程中灵活运用这一技术。
38 7
|
27天前
|
数据采集 分布式计算 大数据
构建高效的数据管道:使用Python进行ETL任务
在数据驱动的世界中,高效地处理和移动数据是至关重要的。本文将引导你通过一个实际的Python ETL(提取、转换、加载)项目,从概念到实现。我们将探索如何设计一个灵活且可扩展的数据管道,确保数据的准确性和完整性。无论你是数据工程师、分析师还是任何对数据处理感兴趣的人,这篇文章都将成为你工具箱中的宝贵资源。
|
27天前
|
机器学习/深度学习 人工智能 算法
深度学习入门:用Python构建你的第一个神经网络
在人工智能的海洋中,深度学习是那艘能够带你远航的船。本文将作为你的航标,引导你搭建第一个神经网络模型,让你领略深度学习的魅力。通过简单直观的语言和实例,我们将一起探索隐藏在数据背后的模式,体验从零开始创造智能系统的快感。准备好了吗?让我们启航吧!
70 3
|
2月前
|
数据采集 存储 数据挖掘
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第27天】在数据分析领域,Python的Pandas库因其强大的数据处理能力而备受青睐。本文介绍了Pandas在数据导入、清洗、转换、聚合、时间序列分析和数据合并等方面的高效技巧,帮助数据分析师快速处理复杂数据集,提高工作效率。
78 0