Python列表数据处理全攻略(三):常用内置方法轻松掌握

文章目录

  • 引言
  • Python列表常用内置方法
    • count()
      • 功能介绍
      • 语法
      • 示例
      • 注意事项
    • index()
      • 功能介绍
      • 语法
      • 示例
      • 注意事项:
    • insert()
      • 功能介绍
      • 语法
      • 示例
      • 注意事项
      • 总结
  • 结束语

引言

亲爱的读者,你好!Python的列表在数据结构中占据着核心地位,对于学习与应用Python来说,它无疑是我们不可或缺的得力助手。它不仅能帮助我们有效地存储和整理数据,还为我们提供了众多内置方法,让数据处理工作变得简单且高效。在这篇博客中,我们将一同深入探索Python列表的这些内置方法,从基础到进阶,助你全面掌握列表处理的核心技巧。让我们开始吧!

Python列表常用内置方法

count()

功能介绍

Python 列表对象的 count() 方法用于计算列表中某元素出现的次数。此方法会遍历列表中的每一个元素,检查是否与指定的元素相等,并返回相等元素的数量。

语法

list.count(value)

其中,list 是要操作的列表,value 是要计数的元素。

示例

  1. 常规用法
my_list = [1, 2, 3, 2, 1, 2, 3, 2, 2, 2]
element = 2
count = my_list.count(element)
print("元素{}在列表{}中出现的次数为{}次".format(element, my_list, count))

运行结果如下:

元素2在列表[1, 2, 3, 2, 1, 2, 3, 2, 2, 2]中出现的次数为6次进程已结束,退出代码0
  1. 计算列表中所有元素的出现次数
my_list = [1, 2, 3, 2, 1, 2, 3, 2, 2, 2]
count_dict = {i: my_list.count(i) for i in my_list}
for value, count in count_dict.items():print("元素【{}】在列表{}中出现的次数为: {}次".format(value, my_list, count))

运行结果如下:

元素【1】在列表[1, 2, 3, 2, 1, 2, 3, 2, 2, 2]中出现的次数为: 2次
元素【2】在列表[1, 2, 3, 2, 1, 2, 3, 2, 2, 2]中出现的次数为: 6次
元素【3】在列表[1, 2, 3, 2, 1, 2, 3, 2, 2, 2]中出现的次数为: 2次进程已结束,退出代码0
  1. 判断元素是否在列表中存在

使用 count() 方法可以直接判断指定元素是否在列表中存在,而无需使用 in 运算符。

my_list = [1, 2, 3, 4, 5]
for i in range(10):if my_list.count(i) > 0:print("元素【{}】在列表{}中存在".format(i, my_list))else:print("元素【{}】在列表{}中不存在".format(i, my_list))

运行结果如下:

元素【0】在列表[1, 2, 3, 4, 5]中不存在
元素【1】在列表[1, 2, 3, 4, 5]中存在
元素【2】在列表[1, 2, 3, 4, 5]中存在
元素【3】在列表[1, 2, 3, 4, 5]中存在
元素【4】在列表[1, 2, 3, 4, 5]中存在
元素【5】在列表[1, 2, 3, 4, 5]中存在
元素【6】在列表[1, 2, 3, 4, 5]中不存在
元素【7】在列表[1, 2, 3, 4, 5]中不存在
元素【8】在列表[1, 2, 3, 4, 5]中不存在
元素【9】在列表[1, 2, 3, 4, 5]中不存在进程已结束,退出代码0

注意事项

  1. count() 方法会遍历整个列表,因此对于大数据量的列表,可能会比较慢。如果需要频繁地或大规模地使用 count() 方法,考虑使用其他数据结构或算法。
  2. count() 方法只计算指定元素的出现次数,不会考虑元素的值或类型。例如,对于字符串类型的列表,count() 方法只计算指定字符在字符串列表中出现的次数。
  3. count() 方法不会考虑列表中的子列表或其他复杂结构。如果列表中包含子列表或其他复杂结构,需要使用其他方法来计算元素的出现次数。
  4. 在使用 count() 方法时,需要注意处理空列表的情况。空列表没有元素,因此任何元素的出现次数都为0。例如,[].count(2024) 的返回值是0。
  5. count() 方法返回的是整数类型,如果需要将结果用于浮点数运算,需要进行类型转换。

index()

功能介绍

Python中的index()方法是列表对象的一个方法,用于返回列表中某个特定元素的第一个匹配项的索引。如果列表中不存在该元素,则抛出ValueError异常。

语法

list.index(x)

其中,list是要查找的列表,x是待查找的元素。

示例

  1. 常规操作
my_list = [1, 3, 5, 7, 9, 10, 11, 12, 13, 14, 15]
for value in my_list:index = my_list.index(value)print("元素【{}】在列表{}的索引位置为: {}".format(value, my_list, index))

运行结果如下:

元素【1】在列表[1, 3, 5, 7, 9, 10, 11, 12, 13, 14, 15]的索引位置为: 0
元素【3】在列表[1, 3, 5, 7, 9, 10, 11, 12, 13, 14, 15]的索引位置为: 1
元素【5】在列表[1, 3, 5, 7, 9, 10, 11, 12, 13, 14, 15]的索引位置为: 2
元素【7】在列表[1, 3, 5, 7, 9, 10, 11, 12, 13, 14, 15]的索引位置为: 3
元素【9】在列表[1, 3, 5, 7, 9, 10, 11, 12, 13, 14, 15]的索引位置为: 4
元素【10】在列表[1, 3, 5, 7, 9, 10, 11, 12, 13, 14, 15]的索引位置为: 5
元素【11】在列表[1, 3, 5, 7, 9, 10, 11, 12, 13, 14, 15]的索引位置为: 6
元素【12】在列表[1, 3, 5, 7, 9, 10, 11, 12, 13, 14, 15]的索引位置为: 7
元素【13】在列表[1, 3, 5, 7, 9, 10, 11, 12, 13, 14, 15]的索引位置为: 8
元素【14】在列表[1, 3, 5, 7, 9, 10, 11, 12, 13, 14, 15]的索引位置为: 9
元素【15】在列表[1, 3, 5, 7, 9, 10, 11, 12, 13, 14, 15]的索引位置为: 10进程已结束,退出代码0
  1. 查找第一个出现的元素
my_list = [1] * 1 + [2] * 3 + [3] * 5 + [4] * 7 + [5] * 9
print(my_list)
for i in range(0, 5):try:index = my_list.index(i)print("元素【{}】在列表的索引位置为: {}".format(i, index))except ValueError:print("很抱歉, 元素【{}】不存在于列表中".format(i))

运行结果如下:

在这里插入图片描述

注意事项:

  • index()方法只能返回第一个匹配项的索引,如果要查找所有匹配项的索引,可以使用列表解析或循环结构来实现。

insert()

功能介绍

Python列表对象的insert()方法用于在指定位置插入一个元素。此方法接受两个参数:第一个参数是元素要插入的位置,第二个参数是要插入的元素。插入位置的索引为0表示在列表的开头插入,负数索引表示从列表末尾开始计数,-1表示列表的最后一个元素。

语法

list.insert(index, element)

示例

  1. 在列表开头插入元素
my_list = [2, 3, 5, 7]print("插入前,列表为:", my_list)# 向列表开头插入5个1
for _ in range(5):my_list.insert(0, 1)
print(my_list)print("插入后,列表为:", my_list)

运行结果如下:

插入前,列表为: [2, 3, 5, 7]
[1, 1, 1, 1, 1, 2, 3, 5, 7]
插入后,列表为: [1, 1, 1, 1, 1, 2, 3, 5, 7]进程已结束,退出代码0
  1. 在列表倒数第二个位置插入元素
my_list = [2, 3, 5, 7]print("插入前,列表为:", my_list)# 向列表倒数第二个位置插入5个1
for _ in range(5):my_list.insert(-1, 1) 
print(my_list)print("插入后,列表为:", my_list)

运行结果如下:

插入前,列表为: [2, 3, 5, 7]
[2, 3, 5, 1, 1, 1, 1, 1, 7]
插入后,列表为: [2, 3, 5, 1, 1, 1, 1, 1, 7]进程已结束,退出代码0
  1. 在列表末尾插入元素
my_list = [2, 3, 5, 7]print("插入前,列表为:", my_list)# 向列表末尾插入5个1
for _ in range(5):my_list.insert(len(my_list), 1)
print(my_list)print("插入后,列表为:", my_list)

运行结果如下:

插入前,列表为: [2, 3, 5, 7]
[2, 3, 5, 7, 1, 1, 1, 1, 1]
插入后,列表为: [2, 3, 5, 7, 1, 1, 1, 1, 1]进程已结束,退出代码0

注意事项

  • insert()方法会改变原列表。
  • 如果要插入的位置超出了列表的长度,默认在列表末尾插入。
  • 如果要插入的元素是可变类型(如列表或字典),其值会被复制到新位置,原值不会被改变。

总结

Python的列表对象提供了insert()方法,可以在指定位置插入一个元素。使用这个方法时,需要注意插入位置的有效性,以及要插入的元素是否为可变类型。insert()方法可以方便地修改列表,使列表中的元素按照特定顺序排列。


结束语

  • 亲爱的读者,感谢您花时间阅读我们的博客。我们非常重视您的反馈和意见,因此在这里鼓励您对我们的博客进行评论。
  • 您的建议和看法对我们来说非常重要,这有助于我们更好地了解您的需求,并提供更高质量的内容和服务。
  • 无论您是喜欢我们的博客还是对其有任何疑问或建议,我们都非常期待您的留言。让我们一起互动,共同进步!谢谢您的支持和参与!
  • 我会坚持不懈地创作,并持续优化博文质量,为您提供更好的阅读体验。
  • 谢谢您的阅读!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2660066.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

k8s-cni网络 10

Flannel vxlan模式跨主机通信原理 在同一个节点上的pod 流量通过cni网桥可以直接进行转发; 在需要跨主机访问时,数据包通过flannel(隧道) 知道另一边的mac地址,就可以拿到另一边的ip地址,然后构建常规的以太网数据包,…

github登录需要双因素认证(Two-factor authentication)

前言 这是我在这个网站整理的笔记,有错误的地方请指出,关注我,接下来还会持续更新。 作者:神的孩子都在歌唱 github登录需要双因素认证(Two-factor authentication) 今天登录github发现需要绑定双因素才能够登录 我们…

具有权威性的工信部证书怎么考

工信部证书的考试流程如下: 选择正规报考机构:选择一家权威的培训机构或考试中心,确保其具有相应的资质和经验。 提交个人报考资料:根据考试机构的要求,提交相关的个人报考资料,如身份证、学历证明、工作…

【单片机项目实战】温度控制系统

本项目的主要作用是实现温度调控,通过设定一个预定的温度值,实现实时检测外界温度,当外界温度小于预定值时,电机正转,实现降温效果;当外界温度大于预定值时,电机反转,实现升温效果&a…

SpringBoot多线程与任务调度总结

一、前言 多线程与任务调度是java开发中必须掌握的技能,在springBoot的开发中,多线程和任务调度变得越来越简单。实现方式可以通过实现ApplicationRunner接口,重新run的方法实现多线程。任务调度则可以使用Scheduled注解 二、使用示例 Slf…

TiDB SQL调优案例TiFlash

背景 早上收到某系统的告警tidb节点挂掉无法访问,情况十万火急。登录中控机查了一下display信息,4个TiDB、Prometheus、Grafana全挂了,某台机器hang死无法连接,经过快速重启后集群恢复,经排查后是昨天上线的某个SQL导…

2022年全球软件质量效能大会(QECon北京站2022)-核心PPT资料下载

一、峰会简介 当前,新一轮科技革命和产业变革正在重塑全球经济格局,以云计算为代表的新一代信息技术创新活跃,与实体经济深度融合,推动泛在连接、数据驱动、智能引领的数字经济新形式孕育而生。 新兴技术的出现给测试乃至整个软…

小米路由器2(R2D) 安装 MIXBOX

1. 先刷开发版 ROM http://www1.miwifi.com/miwifi_download.html 进入上述网页,找到 R2D 点击下载 开发版 ROM 教程 看 下载按钮上边的 “刷机教程” 刷机教程 2. 开启SSH工具 登录自己的小米账号后,里面会显示出 自己的 root密码; 默认…

记一次修复外网无法访问vmware里面的虚拟机的网络端口的问题

发现一个奇怪的网络问题,vmware里一个程序的端口通过vmnat穿透出来,然后这个端口就能够通过局域网被其他机器访问,但是另一个网段就没法访问这个端口。使用主机上的其他程序使用开启同样的端口,另一个网段的机器却可以访问。我想不…

Android Security PIN 相关代码

开发项目遇到一个问题,具体描述及复制步骤如下: 就是开启"Enhanced PIN privacy"(增强的PIN隐私)的时候输入秘密的时候还是会显示数字 如下图,应该是直接是“.” 不应该出现PIN 密码 想要的效果如下图: 设置的步骤如下图…

中职网络安全Server2002——Web隐藏信息获取

B-2:Web隐藏信息获取 任务环境说明: 服务器场景名:Server2002(关闭链接)服务器场景用户名:未知 有问题需要环境加q 通过本地PC中渗透测试平台Kali使用Nmap扫描目标靶机HTTP服务子目录,将扫描子…

用户规模破亿!基于文心一言的创新应用已超4000个

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

Matter协议解析记录

目录 目录 1、Matter 协议发展 1.1、什么是Matter 1.2、Matter能做什么 2、整体介绍 3、架构介绍 3.1、Matter网络拓扑结构 3.2、功能解析 3.2.1、Fabric引用和Fabric标识符 3.2.2、供应商标识符(Vendor ID,VID) 3.2.3、产品标识符…

类。。。。

定义一个person类&#xff0c;包含私有成员&#xff0c;int *age,string &name,一个stu类&#xff0c;包含私有成员double *sore,person p1,写出person类和stu类的特殊成员函数&#xff0c;并写一个stu的函数&#xff0c;显示所有信息。 #include <iostream>using n…

树莓派界面改成中文

安装完树莓派系统(Raspberry Pi OS with Desktop)&#xff0c;第一次启动时&#xff0c;时会有如下面二个图所示&#xff0c;让你选择区域时区和语言。 树莓派默认的语言为英文&#xff0c;如果你在安装时没有选择的话&#xff0c;默认的区域为英国&#xff0c;语言为英国英文&…

canal 数据同步组件

canal 数据异构组件 为啥要使用这个组件&#xff1f; 在更新DB的时候不同步更新到redis&#xff0c;es等数据库中&#xff0c;时间太久&#xff0c;而且可能会存在同步失败的问题&#xff0c;因此引入canal去拉取DB的数据&#xff0c;再去更新到redis&#xff0c;es等数据库中&…

【Gradio】1、Gradio 是什么

官网&#xff1a;https://www.gradio.app/ 一、Gradio 是什么 Gradio是一个用于创建机器学习模型交互式界面的 Python 库。通过Gradio&#xff0c;可以快速地为模型构建一个可视化的、易于使用的Web界面&#xff0c;无需编写任何Web前端代码。 Gradio 支持多种不同类型的输入…

代码随想录算法训练营第三十天|332.重新安排行程、51. N皇后 、37. 解数独

332.重新安排行程 题目链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 文档讲解&#xff1a;代码随想录 C代码&#xff1a; class Solution { public: unordered_map<string, map<string, int>> targets;bool backtrack…

Python实现张万森下雪了的效果

写在前面 即将步入婚宴殿堂的女主林北星&#xff0c;遭遇了男友展宇的毁约&#xff0c;生活和工作也变得一团糟。与此同时&#xff0c;她被时光老人带回了十八岁的高三时光&#xff0c;重新开启了自己的人生。林北星摆脱了展宇的束缚&#xff0c;认真准备高考&#xff0c;想要…

九九乘法表c 语言 用于打印九九乘法表

以下是一个简单的C语言程序&#xff0c;用于打印九九乘法表&#xff1a; #include <stdio.h>int main() {int i, j;for (i 1; i < 9; i) {for (j 1; j < i; j) {printf("%d*%d%-2d ", j, i, i*j);}printf("\n");}return 0; }解释&#xff1…