【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]

在这里插入图片描述

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

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

相关文章

【Java面试】十二、Kafka相关

文章目录 1、Kafka如何保证消息不丢失1.1 生产者发消息到Brocker丢失&#xff1a;设置异步发送1.2 消息在Broker存储时丢失&#xff1a;发送确认机制1.3 消费者从Brocker接收消息丢失1.4 同步 异步组合提交偏移量 2、Kafka如何保证消费的顺序性3、Kafka高可用机制3.1 集群模式…

深度搜索算法2(c++)

红与黑 题目描述 有一间长方形的房子&#xff0c;地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上&#xff0c;只能向相邻的黑 色瓷砖移动。请写一个程序&#xff0c;计算你总共能够到达多少块黑色的瓷砖。 输入 包括多组数据。每组数据的第一行是两个…

Vue.js ECharts使用

一、介绍 ECharts 是一个使用 JavaScript 实现的开源可视化库&#xff0c;涵盖各行业图表&#xff0c;满足各种需求。ECharts 提供了丰富的图表类型和交互能力&#xff0c;使用户能够通过简单的配置生成各种各样的图表&#xff0c;包括但不限于折线图、柱状图、散点图、饼图、雷…

02Linux文件,目录,过滤,管道常用命令

Linux基础概述 Linux基础目录 Linux没有盘符这个概念, 只有一个顶级根目录 /, 所有文件都在它下面 在Windows系统中路径之间的层级关系使用/来表示在Linux系统中路径之间的层级关系使用/来表示,出现在开头的/表示根目录, /home/a.txt表示根目录下的home文件夹内有a.txt文件 …

微服务开发与实战Day03

一、导入黑马商城项目 资料文档&#xff1a;Docs 1. 安装MySQL ①删除root目录下的mysql rm -rf mysql/ ②把课前资料里的mysql目录上传到root目录下 ③创建一个通用网络 docker network create hm-net ④使用下面的命令安装MySQL docker run -d \--name mysql \-p 330…

C++ OpenCV 图像分类魔法:探索神奇的模型与代码

⭐️我叫忆_恒心&#xff0c;一名喜欢书写博客的研究生&#x1f468;‍&#x1f393;。 如果觉得本文能帮到您&#xff0c;麻烦点个赞&#x1f44d;呗&#xff01; 近期会不断在专栏里进行更新讲解博客~~~ 有什么问题的小伙伴 欢迎留言提问欧&#xff0c;喜欢的小伙伴给个三连支…

TensorFlow2.x基础与mnist手写数字识别示例

文章目录 Github官网文档Playground安装声明张量常量变量 张量计算张量数据类型转换张量数据维度转换ReLU 函数Softmax 函数卷积神经网络训练模型测试模型数据集保存目录显示每层网络的结果 TensorFlow 是一个开源的深度学习框架&#xff0c;由 Google Brain 团队开发和维护。它…

IP纯净度是什么,对用户有多么重要?

在网络应用和数据采集等领域&#xff0c;代理IP被广泛使用&#xff0c;而代理IP的纯净度则直接影响其性能和可用性。代理IP的纯净度主要涉及到代理IP在网络传输过程中的稳定性、匿名性和安全性。今天就带大家一起了解代理IP纯净度对用户的重要性。 第一&#xff0c;保护用户的隐…

Android Ble低功耗蓝牙开发

一、新建项目 在Android Studio中新建一个项目&#xff0c;如下图所示&#xff1a; 选择No Activity&#xff0c;然后点击Next 点击Finish&#xff0c;完成项目创建。 1、配置build.gradle 在android{}闭包中添加viewBinding&#xff0c;用于获取控件 buildFeatures {viewB…

Flutter基础 -- Flutter容器布局

目录 1. MaterialApp 1.1 组件定义 1.2 主要功能和属性 1.3 示例 2. 脚手架 Scaffold 2.1 定义 2.2 Scaffold 的属性 2.3 示例 PS: 对于 Scaffold 和 MaterialApp 3. 线性布局 Column Row 3.1 Row 3.2 Column 4. 盒模型 Box Model 4.1 定义 4.2 示例 5. 容器 C…

数据结构及研究

**数据结构是计算机存储、组织数据的方式&#xff0c;它是相互之间存在一种或多种特定关系的数据元素的集合**Θic-1ΘΘic-2ΘΘic-3ΘΘic-4ΘΘic-5Θ。 数据结构这一概念在计算机科学领域扮演着至关重要的角色&#xff0c;它不仅决定了数据在计算机内部的存储方式&#xf…

Block Transformer:通过全局到局部的语言建模加速LLM推理

在基于transformer的自回归语言模型&#xff08;LMs&#xff09;中&#xff0c;生成令牌的成本很高&#xff0c;这是因为自注意力机制需要关注所有之前的令牌&#xff0c;通常通过在自回归解码过程中缓存所有令牌的键值&#xff08;KV&#xff09;状态来解决这个问题。但是&…

计算机组成结构—IO方式

目录 一、程序查询方式 1. 程序查询基本流程 2. 接口电路 3. 接口工作过程 二、程序中断方式 1. 程序中断基本流程 2. 接口电路 3. I/O 中断处理过程 三、DMA 方式 1. DMA 的概念和特点 2. DMA 与 CPU 的访存冲突 3. DMA 接口的功能 4. DMA 接口的组成 5. DMA 的…

Elasticsearch 认证模拟题 - 15

一、题目 原索引 task1 的字段 title 字段包含单词 The&#xff0c;查询 the 可以查出 1200 篇文档。重建 task1 索引为 task1_new&#xff0c;重建后的索引&#xff0c; title 字段查询 the 单词&#xff0c;不能匹配到任何文档。 PUT task1 {"mappings": {"…

机器学习----奥卡姆剃刀定律

奥卡姆剃刀定律&#xff08;Occam’s Razor&#xff09;是一条哲学原则&#xff0c;通常表述为“如无必要&#xff0c;勿增实体”&#xff08;Entities should not be multiplied beyond necessity&#xff09;或“在其他条件相同的情况下&#xff0c;最简单的解释往往是最好的…

Qt基于SQLite数据库的增删查改demo

一、效果展示 在Qt创建如图UI界面&#xff0c;主要包括“查询”、“添加”、“删除”、“更新”&#xff0c;四个功能模块。 查询&#xff1a;从数据库中查找所有数据的所有内容&#xff0c;并显示在左边的QListWidget控件上。 添加&#xff1a;在右边的QLineEdit标签上输入需…

pc之间的相互通信详解

如图&#xff0c;实现两台pc之间的相互通信 1.pc1和pc2之间如何进行通讯。 2.pc有mac和ip&#xff0c;首先pc1需要向sw1发送广播&#xff0c;sw1查询mac地址表&#xff0c;向router发送广播&#xff0c;router不接受广播&#xff0c;router的每个接口都有ip和mac&#xff0c;…

使用 Scapy 库编写 TCP SYN 洪水攻击脚本

一、介绍 TCP SYN 洪水攻击是一种拒绝服务攻击&#xff08;Denial-of-Service, DoS&#xff09;类型&#xff0c;攻击者通过向目标服务器发送大量的伪造TCP连接请求&#xff08;SYN包&#xff09;&#xff0c;消耗目标服务器的资源&#xff0c;导致其无法处理合法用户的请求。…

13. ESP32-HTTPClient(Arduino)

使用ESP32 Arduino框架的HTTPClient库进行HTTP请求 在ESP32开发里&#xff0c;网络通信是挺重要的一部分&#xff0c;你可能需要从服务器拿数据啊&#xff0c;或者把传感器数据发到云端什么的。不过别担心&#xff0c;ESP32 Arduino框架给我们提供了HTTPClient库&#xff0c;让…

力扣 有效的括号 栈

Problem: 20. 有效的括号 文章目录 思路复杂度&#x1f49d; Code 思路 &#x1f468;‍&#x1f3eb; 参考地址 复杂度 时间复杂度: O ( n ) O(n) O(n) 空间复杂度: O ( n ) O(n) O(n) &#x1f49d; Code class Solution {static Map<Character, Character> m…