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://www.mzph.cn/news/582415.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习——损失函数

【说明】文章内容来自《机器学习——基于sklearn》,用于学习记录。若有争议联系删除。 1、简介 损失函数(loss function)又称为误差函数(error function),是衡量模型好坏的标准,用于估量模型的预测值与真实值的不一致程度,是一个…

java itext5 生成PDF并填充数据导出

java itext5 生成PDF并填充数据导出 依赖**文本勾选框****页眉**&#xff0c;**页脚****图片**实际图 主要功能有文本勾选框&#xff0c;页眉&#xff0c;页脚&#xff0c;图片等功能。肯定没有专业软件画的好看&#xff0c;只是一点儿方法。仅供参考。 依赖 <!--pdf-->&…

12.18构建哈夫曼树(优先队列),图的存储方式,一些细节(auto,pair用法,结构体指针)

为结构体自身时&#xff0c;用.调用成员变量&#xff1b;为结构体指针时&#xff0c;用->调用成员变量 所以存在结构体数组时&#xff0c;调用数组元素里的成员变量&#xff0c;就是要用. 结构体自身只有在new时才会创建出来&#xff0c;而其指针可以随意创建 在用new时&…

Android Security PIN 相关代码

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

RabbitMQ 和 Kafka 对比

本文对RabbitMQ 和 Kafka 进行下比较 文章目录 前言RabbitMQ架构队列消费队列生产 Kafka本文小结 前言 开源社区有好多优秀的队列中间件&#xff0c;比如RabbitMQ和Kafka&#xff0c;每个队列都貌似有其特性&#xff0c;在进行工程选择时&#xff0c;往往眼花缭乱&#xff0c;不…

多态-多态的基本概念-类和对象

多态的基本 #include<iostream> using namespace std; //动物类 class Animal { public:virtual void Speak(){cout << " 动物在噢噢叫" << endl;} }; //猫类 class Cat :public Animal { public:void Speak(){cout << "小猫在噢噢叫&…

C++系列-第3章循环结构-26-认识do-while语句

C系列-第3章循环结构-26-认识do-while语句 在线练习&#xff1a; http://noi.openjudge.cn/ https://www.luogu.com.cn/ 对于 while 语句而言&#xff0c;如果不满足条件&#xff0c;则不能进入循环。但有时候我们需要即使不满足条件&#xff0c;也至少执行一次。 do-while循环…

购买腾讯云服务器需要多少钱?购买腾讯云服务器方法教程

腾讯云轻量应用服务器购买指南&#xff0c;有两个入口&#xff0c;一个是在特价活动上购买&#xff0c;一个是在轻量应用服务器官方页面购买&#xff0c;特价活动上购买价格更便宜&#xff0c;轻量2核2G3M带宽服务器62元一年起&#xff0c;阿腾云atengyun.com分享腾讯云轻量应用…

算法导论复习纲要

函数 1. 上界下界&#xff0c;紧确界的定义 2. 求解递推式&#xff0c;代入法&#xff0c;递归树法&#xff0c;主方法 分治算法 动态规划 1. 切割钢条&#xff1a;递归方法&#xff0c;动态的自上而下&#xff0c; 2. 矩阵乘法&#xff1a;最优子结构性的证明&#xff0c…

Go语言学习

1、运行和解析 go run 命令已包含了编译和运行。它会先在一个临时目录编译程序&#xff0c;然后执行完后清理掉. 如果在run的后面加上 --work参数来查看临时目录。 go run --work main.go也可以通过go build命令来编译代码&#xff0c;执行后会生成一个可以执行文件&#xff…

如何本地部署Nextcloud结合cpolar搭建专属私有云盘远程访问(内网穿透)

文章目录 摘要1. 环境搭建2. 测试局域网访问3. 内网穿透3.1 ubuntu本地安装cpolar3.2 创建隧道3.3 测试公网访问 4 配置固定http公网地址4.1 保留一个二级子域名4.1 配置固定二级子域名4.3 测试访问公网固定二级子域名 摘要 Nextcloud,它是ownCloud的一个分支,是一个文件共享服…

算法设计与分析 | 矩阵连乘

题目描述 一个n*m矩阵由n行m列共n*m个数排列而成。两个矩阵A和B可以相乘当且仅当A的列数等于B的行数。一个N*M的矩阵乘以一个M*P的矩阵等于一个N*P的矩阵&#xff0c;运算量为nmp。 矩阵乘法满足结合律&#xff0c;A*B*C可以表示成(A*B)*C或者是A*(B*C)&#xff0c;两者的运算…

什么是https证书?

HTTPS证书&#xff0c;也称为SSL&#xff08;Secure Sockets Layer&#xff09;证书或TLS&#xff08;Transport Layer Security&#xff09;证书&#xff0c;是一种数字证书&#xff0c;用于在网络上建立安全的加密连接。它的主要目的是确保在互联网上进行的数据传输的安全性和…

Android : 画布绘制矩形和文字 让其居中显示简单应用

示例图&#xff1a; CenterView.java package com.example.demo;import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.util.Log; import android.view.View;public class Center…

openGauss学习笔记-175 openGauss 数据库运维-备份与恢复-导入数据-管理并发写入操作示例

文章目录 openGauss学习笔记-175 openGauss 数据库运维-备份与恢复-导入数据-管理并发写入操作示例175.1 相同表的INSERT和DELETE并发175.2 相同表的并发INSERT175.3 相同表的并发UPDATE175.4 数据导入和查询的并发 openGauss学习笔记-175 openGauss 数据库运维-备份与恢复-导入…

训练和测试的loss、accuracy等数据保存到文件并读出

首先是写文件到excel import os.path from openpyxl import load_workbook import pandas as pd import matplotlib.pyplot as pltdef write_excel(excel_name, sheet_name, value):columns ["epoc", "train_loss", "train_acc", "test_a…

idea Spring Boot项目使用JPA创建与数据库链接

1.pom.xml文件中添加依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency><groupId>com.mysql</groupId><artifactId>…

创建和配置Spring MVC框架构建Web应用

1 认识Spring MVC Spring Web MVC是构建在Servlet API之上的Web框架&#xff0c;自诞生之时就被纳入了Spring框架中。其正式/官方名称为“Spring Web MVC”&#xff0c;源自其所属的模块&#xff08;spring-webmvc&#xff09;&#xff0c;但通常被称为“Spring MVC”。 1.1…

最短路径(数据结构实训)(难度系数100)

最短路径 描述&#xff1a; 已知一个城市的交通路线&#xff0c;经常要求从某一点出发到各地方的最短路径。例如有如下交通图&#xff1a; 则从A出发到各点的最短路径分别为&#xff1a; B&#xff1a;0 C&#xff1a;10 D&#xff1a;50 E&#xff1a;30 F&#xff1a;60 输…

go 源码解读 - sync.Mutex

sync.Mutex mutex简介mutex 方法源码标志位获取锁LocklockSlowUnlock怎么 调度 goroutineruntime 方法 mutex简介 mutex 是 一种实现互斥的同步原语。&#xff08;go-version 1.21&#xff09; &#xff08;还涉及到Go运行时的内部机制&#xff09;mutex 方法 Lock() 方法用于…