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

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

off999 2024-10-16 11:19 28 浏览 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, 请对列表进行反转

相关推荐

Python Flask 容器化应用链路可观测

简介Flask是一个基于Python的轻量级Web应用框架,因其简洁灵活而被称为“微框架”。它提供了Web开发所需的核心功能,如请求处理、路由管理等,但不会强制开发者使用特定的工具或库。...

Python GUI应用开发快速入门(python开发软件教程)

一、GUI开发基础1.主流GUI框架对比表1PythonGUI框架比较框架特点适用场景学习曲线Tkinter内置库,简单小型应用,快速原型平缓PyQt功能强大,商用许可专业级桌面应用陡峭PySi...

【MCP实战】Python构建MCP应用全攻略:从入门到实战!

实战揭秘:Python Toga 打造跨平台 GUI 应用的神奇之旅

在Python的世界里,GUI(图形用户界面)开发工具众多,但要找到一款真正跨平台、易于使用且功能强大的工具并不容易。今天,我们就来深入探讨一下Toga——一款Python原生、操作系统原...

python应用目录规划(python的目录)

Python大型应用目录结构规划(企业级最佳实践)核心原则模块化:按业务功能拆分,高内聚低耦合可扩展性:支持插件机制和动态加载环境隔离:清晰区分开发/测试/生产环境自动化:内置标准化的构建测试部署流...

Python图形化应用开发框架:PyQt开发简介

PyQt概述定义:PyQt是Python绑定Qt框架的工具集,用于开发跨平台GUI应用程序原理:通过Qt的C++库提供底层功能,PyQt使用SIP工具生成Python绑定特点:支持Windows/ma...

[python] 基于PyOD库实现数据异常检测

PyOD是一个全面且易于使用的Python库,专门用于检测多变量数据中的异常点或离群点。异常点是指那些与大多数数据点显著不同的数据,它们可能表示错误、噪声或潜在的有趣现象。无论是处理小规模项目还是大型...

Python、Selenium 和 Allure 进行 UI 自动化测试的简单示例脚本

环境准备确保你已经安装了以下库:SeleniumAllurepytest你可以使用以下命令安装所需库:pipinstallseleniumallure-pytestpytest示例代码下面的代...

LabVIEW 与 Python 融合:打造强大测试系统的利器

在现代测试系统开发领域,LabVIEW和Python各自凭借独特优势占据重要地位。LabVIEW以图形化编程、仪器控制和实时系统开发能力见长;Python则凭借丰富的库资源、简洁语法和强大数...

软件测试进阶之自动化测试——python+appium实例

扼要:1、了解python+appium进行APP的自动化测试实例;2、能根据实例进行实训操作;本课程主要讲述用python+appium对APP进行UI自动化测试的例子。appium支持Androi...

Python openpyxl:读写样式Excel一条龙,测试报表必备!

无论你是测试工程师、数据分析师,还是想批量导出Excel的自动化工作者,只需一个库openpyxl,即可高效搞定Excel的各种需求!为什么选择openpyxl?支持.xlsx格式...

Python + Pytest 测试框架——数据驱动

引言前面已经和大家介绍过Unittest测试框架的数据驱动框架DDT,以及其实现原理。今天和大家分享的是Pytest测试框架的数据驱动,Pytest测试框架的数据驱动是由pytest自...

这款开源测试神器,圆了我玩游戏不用动手的梦想

作者:HelloGitHub-Anthony一天我在公司用手机看游戏直播,同事问我在玩什么游戏?我和他说在看直播,他恍然大悟:原来如此,我还纳闷你玩游戏,咋不用动手呢。。。。一语惊醒梦中人:玩游戏不用...

Python单元测试框架对比(pycharm 单元测试)

一、核心框架对比特性unittest(标准库)pytest(主流第三方)nose2(unittest扩展)doctest(文档测试)安装Python标准库pipinstallpytestp...

利用机器学习,进行人体33个2D姿态检测与评估

前几期的文章,我们分享了人脸468点检测与人手28点检测的代码实现过程,本期我们进行人体姿态的检测与评估通过视频进行人体姿势估计在各种应用中起着至关重要的作用,例如量化体育锻炼,手语识别和全身手势控制...

取消回复欢迎 发表评论: