百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

业务人员学Python系列(9):列表操作方法

off999 2024-10-16 11:19 23 浏览 0 评论

这个系列断断续续地写到第九篇了,如果你坚持学,并扎实练习相关代码,应该来说已经具备初步解决一些具体任务的能力了。当然,对于一门功能强大的语言这还是不够的,我们应该继续学习Python技能。最近,也比较忙,有时也用Python帮朋友解决一些实际问题:有个朋友是个影迷收集很多经典电影(得有2000多部),电影文件名也不是很规范。他最近想系统梳理温习一下,并且想把所有文件按豆瓣评分排个序,同时加入电影类型、导演、主演、编剧等信息。这要是一个一个去豆瓣查询,录入整理,没个个把月估计干不完。关键还枯燥乏味啊。我说,你给我三天时间,第三天你准备好烧烤食材工具,我给你交货。这家伙乐坏了,不就是撸个串嘛,so easy。然后,我们各自行动,这家伙每天问我啥进展了?我总说快了,你把烧烤准备好就OK。到了第三天,我们如期相约,好家伙,够诚心啊:羊腿羊腰羊肉串还真是丰富。他说,来,给我结果,咱们开喝。我说等等我,我现在给你录入。这哥们一听,啥?你给我录?。。。我说是啊,我准备住你这里,你天天给我烤串,我打字快估计有个十天半个月给你搞定。。。这个当然是开玩笑了。不过,我确实这三天没给他干活。只不过开过玩笑后,我打开笔记本,用python写了十几行代码,眨眼功夫就把结果漂亮地交给他了。看吧,Python就是这么厉害!眨眼功夫就骗了一顿丰盛的烤串。

今天,咱们的内容实际上是个补遗。第六节那个口诀有一句没展开讲,先回忆一下第六节的口诀:

================

容器作类型

特点需分清

元组圆括号

元素很稳定

列表方括号

增删改查行

字典花括号

无序是特征

=================

其中,对列表的“增删改查行”没有具体讲,因为涉及内容较多。我说了,字符串,列表对业务人员来说非常重要,要认真掌握。掌握后就可以解决很多实际问题。正因为,他们如此重要,所以Python提供了很多高效实用的操作方法,今天咱们就来结合例子展开讲讲。

前面说了,列表是可变的容器类型序列。增删改查就是几种操作,增就是增加元素,删就是删除元素,改就是修改元素,查就是查找元素。对于这些操作Python都提供了相应的方法,当然不仅仅是增删改查,Python还提供了复制,排序,统计等操作方法。至于列表的创建,索引,切片等操作,在第六节已经介绍,你要是忘了回去复习一下。下面,选择一些主要方法予以介绍:

1、在列表中增加元素

在列表中添加新元素时,最简单的方式是将元素附加到列表末尾,使用方法:append()

a_list = ['banana', 'orange', 'mango', 'lemon']
a_list.append('apple')
print(a_list)           # ['banana', 'orange', 'mango', 'lemon', 'apple']

还有一种方法就是在特定位置插入元素,使用方法:insert()

cycles = ['mobai', 'ofo', 'didi'] 
cycles .insert(0, 'xiaolan') 
print(cycles) #['xiaolan','mobai', 'ofo', 'didi'] 

注意:如果仅仅是添加元素,尽可能使用append()方法,在添加大量元素时,这个方法很快。

2、在列表中删除元素

使用del语句删除指定位置元素

cycles = ['xiaolan','mobai', 'ofo', 'didi'] 
del cycles[3]
print(cycles) #['xiaolan','mobai', 'ofo'] 
del cycles #删除整个列表,即cycles不存在了

使用pop方法删除元素。方法pop()可删除列表末尾的元素,并让你能够接着使用它。

b_list = ['banana', 'orange', 'mango', 'lemon']
a=b_list.pop()
print(b_list)       # ['banana', 'orange', 'mango']
print(a) # lemon
b_list.pop(0)
print(b_list)       # ['orange', 'mango']

当然,pop()方法也能删除特定位置的元素,如上面后两行例子所示。

使用remove()删除指定元素。有时候,你不知道要从列表中删除的值所处的位置。如果你只知道要删除的元素的值,可使用方法remove()。

b_list = ['banana', 'orange', 'mango', 'lemon']
b_list.remove('banana')
print(b_list)  # ['orange', 'mango', 'lemon']

使用clear()方法清空列表。

cycles = ['xiaolan','mobai', 'ofo', 'didi']
cycles.clear()
print(cycles) #[],变成空列表

3、修改列表元素

修改操作比较简单,直接使用索引进行修改。

b_list = ['banana', 'orange', 'mango', 'lemon']
b_list[0]='apple'
print(b_list) # ['apple', 'orange', 'mango', 'lemon']

4、查询列表元素

这个也比较简单,直接索引,或者查找位置

b_list = ['banana', 'orange', 'mango', 'lemon']
print(b_list.index('mango')) # 2
print(b_list[1]) #orange
print('mango' in b_list) #True 检查元素是否存在于列表

5、使用copy()方法复制列表

b_list = ['banana', 'orange', 'mango', 'lemon']
c_list = b_list.copy()
print(c_list) # ['banana', 'orange', 'mango', 'lemon']

6、使用加号(+)连接两个列表

b_list = ['banana', 'orange', 'mango', 'lemon']
cycles = ['xiaolan','mobai', 'ofo', 'didi']
new_list=b_list+cycles
print(new_list) # ['banana', 'orange', 'mango', 'lemon', 'xiaolan', 'mobai', 'ofo', 'didi']

还可以使用extend()方法来进行连接。

b_list.extend(cycles) print(b_list)

7、使用count()统计某元素的个数

num_list=[1,2,3,2,5,2,3,8]
nums=num_list.count(2)
print(nums) # 3

8、列表排序与反转

排序可以使用sort()方法

cycles = ['xiaolan','mobai', 'ofo', 'didi']
cycles.sort()
print(cycles) # ['didi', 'mobai', 'ofo', 'xiaolan'] 按字母排序

上面的排序是对原列表进行排序,如果想保持原列表不变,可以使用python内置函数sorted()

cycles = ['xiaolan','mobai', 'ofo', 'didi']
new_cycles=sorted(cycles)
print(cycles) # ['xiaolan','mobai', 'ofo', 'didi'] 保持不变
print(new_cycles) # ['didi', 'mobai', 'ofo', 'xiaolan'] 已排序

反转就是将原来的列表倒过来

cycles = ['xiaolan','mobai', 'ofo', 'didi']
cycles.reverse()
print(cycles) #['didi', 'ofo', 'mobai', 'xiaolan']

9、遍历列表元素

遍历,就是一个一个的列出来。这个可以用上一节讲的循环结构来操作。我们说列表是一个序列,天生就是可以迭代的。因此,可以很方便的用循环进行遍历。

list=['1','2','3']
for value in list:#末尾加上冒号
    print(value)#每次循环都把list列表中的值赋给value,赋值从索引号0开始

#输出
1
2
3

10、求列表的长度

这个操作使用频率也很高,所以放在最后。可以使用内置函数len()方便的获取列表长度。

cycles = ['xiaolan','mobai', 'ofo', 'didi']
size=len(cycles)
print(size) # 4

列表是非常重要的数据结构,一定要多多练习。留个作业吧。

cycles = ['xiaolan','mobai', 'ofo', 'didi']

1,计算列表长度并输出

2,列表中追加元素“hello",并输出添加后的列表

3,请在列表删除元素‘ofo’,并输出删除后的列表

4,请删除列表中的第2个元素,并输出删除后的元素的值和删除元素后的列表

5,请删除列表的第1到3个元素,并输出删除元素后的列表

6,请使用for循环输出列表中的所有元素

7, 请对元素进行按字母降序排序

8, 请对列表进行反转

相关推荐

面试官:来,讲一下枚举类型在开发时中实际应用场景!

一.基本介绍枚举是JDK1.5新增的数据类型,使用枚举我们可以很好的描述一些特定的业务场景,比如一年中的春、夏、秋、冬,还有每周的周一到周天,还有各种颜色,以及可以用它来描述一些状态信息,比如错...

一日一技:11个基本Python技巧和窍门

1.两个数字的交换.x,y=10,20print(x,y)x,y=y,xprint(x,y)输出:102020102.Python字符串取反a="Ge...

Python Enum 技巧,让代码更简洁、更安全、更易维护

如果你是一名Python开发人员,你很可能使用过enum.Enum来创建可读性和可维护性代码。今天发现一个强大的技巧,可以让Enum的境界更进一层,这个技巧不仅能提高可读性,还能以最小的代价增...

Python元组编程指导教程(python元组的概念)

1.元组基础概念1.1什么是元组元组(Tuple)是Python中一种不可变的序列类型,用于存储多个有序的元素。元组与列表(list)类似,但元组一旦创建就不能修改(不可变),这使得元组在某些场景...

你可能不知道的实用 Python 功能(python有哪些用)

1.超越文件处理的内容管理器大多数开发人员都熟悉使用with语句进行文件操作:withopen('file.txt','r')asfile:co...

Python 2至3.13新特性总结(python 3.10新特性)

以下是Python2到Python3.13的主要新特性总结,按版本分类整理:Python2到Python3的重大变化Python3是一个不向后兼容的版本,主要改进包括:pri...

Python中for循环访问索引值的方法

技术背景在Python编程中,我们经常需要在循环中访问元素的索引值。例如,在处理列表、元组等可迭代对象时,除了要获取元素本身,还需要知道元素的位置。Python提供了多种方式来实现这一需求,下面将详细...

Python enumerate核心应用解析:索引遍历的高效实践方案

喜欢的条友记得关注、点赞、转发、收藏,你们的支持就是我最大的动力源泉。根据GitHub代码分析统计,使用enumerate替代range(len())写法可减少38%的索引错误概率。本文通过12个生产...

Python入门到脱坑经典案例—列表去重

列表去重是Python编程中常见的操作,下面我将介绍多种实现列表去重的方法,从基础到进阶,帮助初学者全面掌握这一技能。方法一:使用集合(set)去重(最简单)pythondefremove_dupl...

Python枚举类工程实践:常量管理的标准化解决方案

本文通过7个生产案例,系统解析枚举类在工程实践中的应用,覆盖状态管理、配置选项、错误代码等场景,适用于Web服务开发、自动化测试及系统集成领域。一、基础概念与语法演进1.1传统常量与枚举类对比#传...

让Python枚举更强大!教你玩转Enum扩展

为什么你需要关注Enum?在日常开发中,你是否经常遇到这样的代码?ifstatus==1:print("开始处理")elifstatus==2:pri...

Python枚举(Enum)技巧,你值得了解

枚举(Enum)提供了更清晰、结构化的方式来定义常量。通过为枚举添加行为、自动分配值和存储额外数据,可以提升代码的可读性、可维护性,并与数据库结合使用时,使用字符串代替数字能简化调试和查询。Pytho...

78行Python代码帮你复现微信撤回消息!

来源:悟空智能科技本文约700字,建议阅读5分钟。本文基于python的微信开源库itchat,教你如何收集私聊撤回的信息。[导读]Python曾经对我说:"时日不多,赶紧用Python"。于是看...

登录人人都是产品经理即可获得以下权益

文章介绍如何利用Cursor自动开发Playwright网页自动化脚本,实现从选题、写文、生图的全流程自动化,并将其打包成API供工作流调用,提高工作效率。虽然我前面文章介绍了很多AI工作流,但它们...

Python常用小知识-第二弹(python常用方法总结)

一、Python中使用JsonPath提取字典中的值JsonPath是解析Json字符串用的,如果有一个多层嵌套的复杂字典,想要根据key和下标来批量提取value,这是比较困难的,使用jsonpat...

取消回复欢迎 发表评论: