【Python列表解锁】:掌握序列精髓,驾驭动态数据集合
文章目录
- 🚀一、列表
- 🌈二、常规操作
- 💥增
- 💥删
- 💥改
- 💥查
- ⭐三、补充操作
🚀一、列表

- 列表是一个能够存储多个同一或不同元素的序列
- 列表:list ---- []
- 列表属于序列类型(容器序列)
- 列表属于可变类型(可直接改变原数据–可变序列)
- 序列: 指的是一块可存放多个值的连续内存空间,这些值按一定顺序排列,可通过每个值所在位置的编号(称为索引)访问它们。-----序列是有序集的通用术语
# 列表中的元素是指列表中每个单独的数据项,一个列表是由一系列元素组成的。list1 = [1, 'hahah', ['asd', 123]]# 其中['asd', 123]为list1的其中一个元素
# ['asd', 123]在list1里面的下标为2
列表是序列类型,因此可以进行索引下标操作
🌈二、常规操作
💥增
- append: 向列表末端添加变量
append 方法是列表(List)类的一个内置方法,用于在列表的末尾添加一个元素。这个方法只接受一个参数,即你要添加到列表中的项。该方法不会返回任何值,而是直接修改原列表。
list1 = ['快乐', '忧伤', 'hahah']
list1.append('kuai')
print(list1) # ['快乐', '忧伤', 'hahah', 'kuai']

- extend: 将数据添加到指定列表中
extend 方法是列表(list)的一个内置方法,用于将一个可迭代对象(如列表、元组、字符串等)的所有元素添加到列表的末端,从而扩展原列表。与 append 方法不同,append 是向列表添加单个元素,而 extend 是添加另一个集合中的多个元素。
list:这是你要扩展的列表。iterable:一个可迭代对象,其元素将逐个添加到列表的末尾。
# 将数据中元素逐一加入指定列表list3 = ['快乐', '忧伤', 'hahah']
list3.extend('帅12345')
print(list3) # ['快乐', '忧伤', 'hahah', '帅', '1', '2', '3', '4', '5']list4 = ['快乐', '忧伤', 'hahah']
list4.extend(['帅12345', 1, 2])
print(list4) # ['快乐', '忧伤', 'hahah', '帅12345', 1, 2]

- insert: 指定位置插入元素
insert 方法是列表(list)的一个内置方法,用于在列表的指定位置插入一个元素。此操作会将指定索引位置之后的元素向右移动一个位置,以腾出空间给新插入的元素。
语法:
list.insert(index, element)
list:这是你要插入元素的列表。index:这是你想在列表中插入新元素的索引位置。如果索引是0,则新元素会成为列表的第一个元素。如果索引等于列表长度,则新元素会追加到列表的末尾。element:你要插入到列表中的元素。
list2 = ['快乐', '忧伤', 'hahah']
list2.insert(0, '帅')
print(list2) # ['帅', '快乐', '忧伤', 'hahah']

💥删
- clear: 清空列表中的数据
clear 方法是列表(list)的一个内置方法,用于清空列表中的所有元素,使其变成一个空列表。调用这个方法后,列表的长度变为0,且不再包含任何元素。
语法:
list.clear()
list:这是你想要清空的列表。
list5 = ['快乐', '忧伤', 'hahah']
list5.clear()
print(list5) # []

- pop: 删除指定索引位置的元素,默认删除最后一个
pop 方法是列表(list)的一个内置方法,用于移除列表中的一个元素,并且可以返回这个被移除的元素。如果不指定索引,pop 方法默认移除并返回列表的最后一个元素。如果指定了索引,就移除并返回该索引位置上的元素。
语法:
list.pop([index])
list:这是你想要从中移除元素的列表。[index]:这是可选参数,指定要移除元素的索引位置。如果不提供,默认为-1,即最后一个元素。
list6 = ['快乐', '忧伤', 'hahah']
list6.pop()
print(list6) # ['快乐', '忧伤']list7 = ['快乐', '忧伤', 'hahah']
list7.pop(1)
print(list7) # ['快乐', 'hahah']

- remove: 删除指定元素
remove 方法是列表(list)的一个内置方法,用于移除列表中第一个匹配给定值的元素。这个方法只移除第一个找到的匹配项,并且在原列表上进行修改,不会返回任何值。如果列表中不存在给定的值,remove 方法会抛出一个 ValueError 异常。
语法:
list.remove(value)
list:这是你要从中移除元素的列表。value:这是你希望从列表中移除的元素的值。
list8 = ['快乐', '忧伤', 'hahah']
list8.remove('快乐')
print(list8) # ['忧伤', 'hahah']

- del: 删除
del 语句是一种用来删除对象(包括列表中的元素、整个列表、变量等)的方式,它不是列表的一个方法,而是一个Python语句。当你使用 del 删除列表中的元素时,可以通过索引或切片指定要删除的部分,这会直接修改原列表。
list9 = ['快乐', '忧伤', 'hahah']
del list9[0] # 单独删除
print(list9) # ['忧伤', 'hahah']list10 = ['快乐', '忧伤', 'hahah']
del list10[0:2] # 范围删除,还可以进行步长操作
print(list10) # ['hahah']

list11 = ['快乐', '忧伤', 'hahah']
del list11
print(list11)

💥改
直接索引操作,重新赋值
list12 = ['快乐', '忧伤', 'hahah', [1,2,3]]
# 直接改
list12[0] = '你不得努力一下'
print(list12)list13 = ['快乐', '忧伤', 'hahah', [1,2,3]]
# 直接操作可变数据
list13[3].append('哈沙给')
print(list13) # ['快乐', '忧伤', 'hahah', [1, 2, 3, '哈沙给']]

💥查
- index 查看指定元素第一次出现的下标位置(可指定范围)
list14 = ['快乐', '忧伤', 'hahah', [1, 2, 3], 1, 2, 3, 4, 2]
print(list14.index(1)) # 4
# 因为下标为3为[1, 2, 3],所以往后找,下标为4是指定元素
- count 统计指定元素在列表中出现次数
list15 = ['快乐', '忧伤', 'hahah', [1, 2, 3], 1, 2, 3, 4, 2]
print(list15.count(2)) # 2次

⭐三、补充操作
- copy 浅复制
列表(list)的复制可以通过多种方式实现,但直接提到的“copy方法”通常指的是使用列表的 copy() 内置方法来创建原列表的一个浅复制。这意味着新列表与原列表包含相同的元素,但两个列表是不同的对象,修改其中一个列表不会直接影响另一个。
语法:
new_list = original_list.copy()
original_list:原始列表,你想要复制的那个列表。new_list:通过 copy() 方法创建的原始列表的副本。
list_1 = [123, 345, 'hahg']
list_2 = list_1.copy()print(list_2) # [123, 345, 'hahg']print(id(list_1)) # 2563097618248
print(id(list_2)) # 2563097618312

- reverse 序列反向
reverse 方法是列表(list)的一个内置方法,用于就地(in-place)地反转列表中元素的顺序。这意味着它会直接修改原列表,而不是返回一个新的、反转后的列表。
语法:
list.reverse()
list:你想要反转元素顺序的列表。
list_3 = [1, 3, 0, 34, 35, 23, 26]
list_3.reverse()
print(list_3) # [26, 23, 35, 34, 0, 3, 1]

- sort 排序(同类型数据)
sort() 方法是列表(list)的一个内置方法,用于就地(in-place)对列表元素进行排序。这意味着该方法会直接修改原列表,根据元素的值重新排列列表中的元素,而不返回一个新的排序后的列表。
语法:
list.sort(key=None, reverse=False)
list:你想要排序的列表。key:可选参数,是一个函数,该函数会被用来计算列表中每个元素的排序键值。默认情况下,元素本身会被用作键值进行比较。reverse:可选参数,默认为False,表示按升序排序。如果设置为True,则按降序排序。
# sort 排序(同类型数据)
list_4 = [1, 3, 0, 34, 35, 23, 26]
list_4.sort()
print(list_4) # [0, 1, 3, 23, 26, 34, 35]# sort(reverse=True) 反向排序
list_5 = [1, 3, 0, 34, 35, 23, 26]
list_5.sort(reverse=True)
print(list_5) # [35, 34, 26, 23, 3, 1, 0]

- sorted 临时排序(不改变原列表数据)
sorted() 函数是一个内置的高阶函数,用于对任何可迭代对象(不仅仅是列表)进行排序,返回一个新的排序后的列表,原对象保持不变。这与列表的 sort() 方法不同,sort() 方法是就地排序,直接修改原列表。
语法:
sorted(iterable, key=None, reverse=False)
iterable:任何可迭代对象,比如列表、元组、字符串等。key:可选参数,是一个函数,该函数会被用于确定列表中每个元素的排序依据。默认为None,表示直接比较元素。reverse:可选参数,默认为False,表示升序排序。如果设置为True,则进行降序排序。
# sorted 临时排序
list_6 = [1, 3, 0, 34, 35, 23, 26]
data = sorted(list_6)print(list_6) # [1, 3, 0, 34, 35, 23, 26]
print(data) # [0, 1, 3, 23, 26, 34, 35]# 临时反向排序
list_7 = [1, 3, 0, 34, 35, 23, 26]
data_1 = sorted(list_7, reverse=True)print(list_7) # [1, 3, 0, 34, 35, 23, 26]
print(data_1) # [35, 34, 26, 23, 3, 1, 0]

- reversed 临时反向(不改变原列表数据)
reversed() 函数是一个内置函数,它不直接作用于列表,而是作用于任何可迭代对象,返回一个迭代器,该迭代器提供输入序列元素的逆序视图。对于列表,虽然它不直接修改原列表,但你可以通过将返回的迭代器转换为列表或其他容器来获得逆序的副本。
语法:
reversed(iterable)
iterable:任何可迭代对象,如列表、元组、字符串等。
list_8 = [1, 3, 0, 34, 35, 23, 26]
data_2 = reversed(list_8) # 返回的是一个对象print(list_8) # [1, 3, 0, 34, 35, 23, 26]
print(data_2) # <list_reverseiterator object at 0x000001C88644FB38># 将对象数据转类型, 可获取其内部数据
data = list(data_2)
print(data) # [26, 23, 35, 34, 0, 3, 1]

相关文章:
【Python列表解锁】:掌握序列精髓,驾驭动态数据集合
文章目录 🚀一、列表🌈二、常规操作💥增💥删💥改💥查 ⭐三、补充操作 🚀一、列表 列表是一个能够存储多个同一或不同元素的序列 列表:list ---- [] 列表属于序列类型(容器…...
安卓打造安装包(应用打包、规范处理安装包、安全加固)
本章介绍应用安装包的基本制作规范,主要包括:如何导出既美观又精简的APK文件、如何按照上线规范调整App的相关设置、如何对APK文件进行安全加固以防止安装包被破解。 应用打包 本节介绍APK安装包的打包过程,包括:如何利用Androi…...
ElasticSearch教程(详解版)
本篇博客将向各位详细介绍elasticsearch,也算是对我最近学完elasticsearch的一个总结,对于如何在Kibana中使用DSL指令,本篇文章不会进行介绍,这里只会介绍在java中如何进行使用,保证你看完之后就会在项目中进行上手&am…...
[office] excel做曲线图的方法步骤详解 #经验分享#知识分享#其他
excel做曲线图的方法步骤详解 Excel是当今社会最流行用的办公软件之一,Excel可以用于数据的整理、分析、对比。可以更直观的看到数据的变化情况,而有很多时候需要制作曲线图表进行数据比较,因此,下面是小编整理的如何用excel做曲线…...
Git+Gitlab 远程库测试学习
Git远程仓库 1、Git远程仓库 何搭建Git远程仓库呢?我们可以借助互联网上提供的一些代码托管服务来实现 Gitee 码云是国内的一个代码托管平台,由于服务器在国内,所以相比于GitHub,码云速度会更快 码云 Gitee - 基于 Git 的代码托…...
Python可视化 | 使用matplotlib绘制面积图示例
面积图是数据可视化中的一个有效工具,用于说明时间上的关系和趋势。它们提供了一种全面的、视觉上迷人的方法,通过熟练地将折线图的可读性与填充区域的吸引力相结合来呈现数值数据。 在本文中,我们将学习更多关于在Python中创建面积折线图的…...
【环境搭建】2.阿里云ECS服务器 安装MySQL
在阿里云的 Alibaba Cloud Linux 3.2104 LTS 64位系统上安装 MySQL 8,可以按照以下步骤进行: 1.更新系统软件包: 首先,更新系统软件包以确保所有软件包都是最新的: sudo yum update -y2.下载 MySQL 8 官方 Yum 仓库…...
Python Flask 入门开发
Python基础学习: Pyhton 语法基础Python 变量Python控制流Python 函数与类Python Exception处理Python 文件操作Python 日期与时间Python Socket的使用Python 模块Python 魔法方法与属性 Flask基础学习: Python中如何选择Web开发框架?Pyth…...
PostgreSQL查看当前锁信息
PostgreSQL查看当前锁信息 基础信息 OS版本:Red Hat Enterprise Linux Server release 7.9 (Maipo) DB版本:16.2 pg软件目录:/home/pg16/soft pg数据目录:/home/pg16/data 端口:5777查看当前锁信息的sql SELECT pg_s…...
毫米波雷达深度学习技术-1.6目标识别2
1.6.4 自动编码器和变体自动编码器 自编码器包括一个编码器神经网络,随后是一个解码器神经网络,其目的是在输出处重建输入数据。自动编码器的设计在网络中施加了一个瓶颈,它鼓励原始输入的压缩表示。通常,自编码器旨在利用数据中的…...
MineAdmin 前端打包后,访问速度慢原因及优化
前言:打包mineadmin-vue前端后,访问速度很慢,打开控制台,发现有一个index-xxx.js文件达7M,加载时间太长; 优化: 一:使用文件压缩(gzip压缩) 1、安装compre…...
使用Obfuscar 混淆WPF(Net6)程序
Obfuscar 是.Net 程序集的基本混淆器,它使用大量的重载将.Net程序集中的元数据(方法,属性、事件、字段、类型和命名空间的名称)重命名为最小集。详细使用方式参见:Obfuscar 在NetFramework框架进行的WPF程序的混淆比较…...
高中数学:数列-基础概念
一、什么是数列? 一般地,我们把按照确定的顺序排列的一列数称为数列,数列中的每一个数叫做这个数列的项,数列的第一项称为首项。 项数有限个的数列叫做有穷数列,项数无限个的数列叫做无穷数列。 二、一般形式 数列和…...
linux中dd命令以及如何测试读写速度
dd命令详解 dd命令是一个在Unix和类Unix系统中非常常用的命令行工具,它主要用于复制文件和转换文件数据。下面我会详细介绍一些dd命令的常见用法和功能: 基本语法 dd命令的基本语法如下: bash Copy Code dd [option]...主要选项和参数 if…...
centos官方yum源不可用 解决方案(随手记)
昨天用yum安装软件的时候,就报错了 [rootop01 ~]# yum install -y net-tools CentOS Stream 8 - AppStream 73 B/s | 38 B 00:00 Error: Failed to download metadata for repo appstream: Cannot prepare internal mirrorlis…...
langchian_aws模块学习
利用langchain_aws模块实现集成bedrock调用模型,测试源码 from langchain_aws.chat_models import ChatBedrock import jsondef invoke_with_text(model_id, message):llm ChatBedrock(model_idmodel_id, region_name"us-east-1")res llm.invoke(messa…...
归并排序-成绩输出-c++
注:摘自hetaobc-L13-4 【任务目标】 按学号从小到大依次输入n个人的成绩,按成绩从大到小输出每个人的学号,成绩相同时学号小的优先输出。 【输入】 输入第一行为一个整数,n,表示人数。(1 ≤ n ≤ 100000…...
✔️Vue基础+
✔️Vue基础 文章目录 ✔️Vue基础computed methods watchcomputed计算属性methods计算属性computed计算属性 VS methods方法计算属性的完整写法 watch侦听器(监视器)watch侦听器 Vue生命周期Vue生命周期钩子 工程化开发和脚手架脚手架Vue CLI 项目目录介…...
基于VS2022编译GDAL
下载GDAL源码;下载GDAL编译需要依赖的必须代码,proj,tiff,geotiff三个源码,proj需要依赖sqlite;使用cmake编译proj,tiff,geotiff;proj有版本号要求;使用cmake…...
C语言之字符函数总结(全部!),一篇记住所有的字符函数
前言 还在担心关于字符的库函数记不住吗?不用担心,这篇文章将为你全面整理所有的字符函数的用法。不用记忆,一次看完,随查随用。用多了自然就记住了 字符分类函数和字符转换函数 C语言中有一系列的函数是专门做字符分类和字符转换…...
UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
网络六边形受到攻击
大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...
2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...
HDFS分布式存储 zookeeper
hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架,允许使用简单的变成模型跨计算机对大型集群进行分布式处理(1.海量的数据存储 2.海量数据的计算)Hadoop核心组件 hdfs(分布式文件存储系统)&a…...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...
MySQL JOIN 表过多的优化思路
当 MySQL 查询涉及大量表 JOIN 时,性能会显著下降。以下是优化思路和简易实现方法: 一、核心优化思路 减少 JOIN 数量 数据冗余:添加必要的冗余字段(如订单表直接存储用户名)合并表:将频繁关联的小表合并成…...
代码规范和架构【立芯理论一】(2025.06.08)
1、代码规范的目标 代码简洁精炼、美观,可持续性好高效率高复用,可移植性好高内聚,低耦合没有冗余规范性,代码有规可循,可以看出自己当时的思考过程特殊排版,特殊语法,特殊指令,必须…...
