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()方法可以方便地修改列表,使列表中的元素按照特定顺序排列。


结束语

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

大数据Doris(四十三):创建物化视图

文章目录 创建物化视图 一、首先你需要有一个Base表

Word2Vec详解: CBOW Skip-gram和负采样

Word2Vec: CBOW & Skip-gram 如果是拿一个词语的上下文作为输入,来预测这个词语本身,则是 CBOW 模型。 而如果是用一个词语作为输入,来预测它周围的上下文,那这个模型叫做 Skip-gram 模型。 CBOW 模型 连续词袋模…

【Gradio】1、Gradio 是什么

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

八种常见顺序存储的算法

目录 1、线性枚举 1)问题描述 2)动图演示 3)示例说明 4)算法描述 5)源码详解 2、前缀和差分 1)问题描述 2)动图演示 3)样例分析 4)算法描述 5)源码…

编程笔记 GOLANG基础 003 Go语言开发环境搭建

编程笔记 GOLANG基础 003 Go语言开发环境搭建 一、安装VSCODE二、安装GO语言主程序 Golang的学习从开发环境搭建开始。本例记录的是WINDOWS平台下使用VSCODE做为开发工具的搭建过程。网上查到的资料都是以前版本的方法,新版Golang发生了一些变化。各位参数环境搭建时…

在linux服务器安装anaconda3

下载anaconda3 wget https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.sh授权 chmod x Anaconda3-2023.09-0-Linux-x86_64.sh运行安装 ./Anaconda3-2023.09-0-Linux-x86_64.shenter yes 自定义路径,注意路径下的anaconda3文件夹不能已经存…

K8S结合Prometheus构建监控系统

一、Prometheus简介 Prometheus 是一个开源的系统监控和警报工具,用于收集、存储和查询时间序列数据。它专注于监控应用程序和基础设施的性能和状态,并提供丰富的查询语言和灵活的告警机制1、Prometheus基本介绍 数据模型:Prometheus 使用时…

H5向微信小程序发送信息(小程序web-view打开H5)

引入weixin-js-sdk npm i weixin-js-sdk 页面引入 // 引入wxjsimport wx from "weixin-js-sdk"; 点击触发方法 methods: {goweap(id){console.log(wx);// H5传递数据 (navigateBack)wx.miniProgram.navigateBack({delta: 1});wx.min…

如何购买腾讯云的服务器(详解腾讯云服务器购买流程)

腾讯云服务器购买流程直接在官方秒杀活动上购买比较划算,在云服务器CVM或轻量应用服务器页面自定义购买价格比较贵,但是自定义购买云服务器CPU内存带宽配置选择范围广,活动上购买只能选择固定的活动机,选择范围窄,但是…

Smartbi获工信部旗下赛迪网“2023行业信息技术应用创新产品”奖

近日,由工信部旗下的赛迪网、《数字经济》杂志共同主办的2023行业信息技术应用创新大会上,“信息技术应用创新成果名单”重磅揭晓,思迈特软件凭借“Smartbi 自然语言分析引擎”斩获“2023行业信息技术应用创新产品”大奖。 据了解&#xff0c…

图分割算法之贪心算法

1 贪心算法的思想 Linear Deterministic Greedy partitioning (LDG)考虑在分割的时候将邻居结点放置在一起,以减少切割边。它采用贪心算法将一个结点放置在包含其邻居最多的子图中,同时保证每个子图的结点负载均衡,整个算法流程图如下其中 C …

基于人工势场法的航线规划

MATLAB2016b可以运行 基于人工势场法的航线规划资源-CSDN文库

C# OpenCvSharp读取rtsp流录制mp4可分段保存

软件界面: 测试环境: VS2019 .NET Framework 4.7.2 OpencvSharp4.8.0 输入RTSP流地址即可拉取RTSP流,支持抓拍和录制RTSP流视频,且支持支持按固定时间保存,比如我想5分钟保存一个视频,设置保存间隔为30…

边缘检测——PidiNet网络训练自己数据集并优化推理测试(详细图文教程)

PiDiNet 是一种用于边缘检测的算法,它提出了一种简单、轻量级但有效的架构。PiDiNet 采用了新 颖的像素差卷积,将传统的边缘检测算子集成到现代 CNN 中流行的卷积运算中,以增强任务性能。 在 BSDS500、NYUD 和 Multicue 上进行了大量的实验…

联营商自述被坑惨,加盟库迪没有未来?

撰稿 | 多客 来源 | 贝多财经 近日,库迪联营商在社交平台不约而同发出了致库迪咖啡管理层的公开信,两封公开信可谓字字珠玑,没有一句废话,揭开了库迪咖啡在细节、运营、扩张、培训等方方面面的“背后真相”。 两封公开信 折射库…

大数据技术16:数据湖和湖仓一体

前言:近几年大数据概念很多,数据库和数据仓库还没搞清楚,就又出了数据湖,现在又开始流行湖仓一体。互联网公司拼命造高大上概念来忽略小白买单的能力还是可以的。 1、数据库 数据库是结构化信息或数据的有序集合,一般以…

24、Qt使用QCustomPlot

一、下载文件 进入官网,选择“Download”、QCustomPlot.tar.gz Qt Plotting Widget QCustomPlot - Download 二、创建项目 创建一个"Qt Widget Application"项目,基类选择“QMainWindow”,把刚才下载的压缩包里的“qcustomplot.…

给零基础朋友的编程课08 - 代码

给零基础朋友的编程课08 - 旋转、圆弧、初识模块化编程。_哔哩哔哩_bilibili Code: / // 彩色案例 艺术仿制品3 // /// 色表 // // 奶白 215,214,160 // 金黄 187,176,112 // 赭石 96,56,20 // 橙色 218,114,53// 项目设定 size(1000,1000); background(215,214,160); stroke…

vue3-13

token可以是后端api的访问依据,一般绝大多数时候,前端要访问后端的api,后端都要求前端请求需要携带一个有效的token,这个token用于用户的身份校验,通过了校验,后端才会向前端返回数据,进行相应的操作,如果没…

c++ / day01

1. 整理思维导图 2. 定义自己的命名空间myspace&#xff0c;并在myspace中定义一个字符串&#xff0c;实现求字符串大小的函数。 代码 #include <iostream>using namespace std;namespace myns {unsigned long long strlen(string s){return s.length();}}int main() {…