python 第五章 列表list [ ]

news2025/2/1 2:07:18

系列文章目录
第一章 初识python
第二章 变量
第三章 基础语句
第四章 字符串str


文章目录

  • 5.1列表的应用场景
  • 5.2列表的格式
  • 5.3列表的常用操作
    • 查找
      • 下标
      • 函数
        • 查找函数
          • index()
          • count()
          • len()
        • 判断是否存在
          • in
          • not in
        • 增加
          • append()
          • extend()
          • insert()
        • 删除
          • del
          • pop()
          • remove()
          • clear() 清空列表
        • 修改
          • 修改指定下标数据
          • 逆置: reverse()
          • 排序: sort()
        • 复制 copy()
  • 5.4列表的循环遍历
  • 5.5列表的嵌套使用


5.1列表的应用场景

思考: 有一个人的姓名(TOM)怎么书写存储程序?
答:变量。
思考:如果一个班级100位学生,每个人的姓名都要存储,应该如何书写程序? 声明100个变量吗?
答:列表即可,列表一次性可以存储多个数据。

5.2列表的格式

[数据1,数据2,数据3,数据4......]

列表可以一次性存储多个数据,且可以为不同数据类型。一般尽可能存储相同的数据类型。

5.3列表的常用操作

列表的作用是一次性存储多个数据,程序员可以对这些数据进行的操作有: 增、删、改、查。

查找

下标

myList = ['清风微泫', '意境', '意尚阁']

print(myList)
print(myList[0])
print(myList[1])
print(myList[2])

在这里插入图片描述

函数

查找函数

index()

返回指定数据所在位置的下标。
语法: 列表序列.index(数据,开始位置下标,结束位置下标)
注意:如果查找的数据不存在会报错

count()

统计指定数据在当前列表中出现的次数
语法: 列表序列.count(数据)

len()

访问列表长度,即列表中数据的个数。
语法: len(数据)
注意:他是公共方法,无论是列表、字符串、元组、字典都可以使用这个函数且作用都是统计列表中数据的个数。
在这里插入图片描述

判断是否存在

in

判断指定数据在某个列表序列,如果在返回True,否则返回False
在这里插入图片描述

not in

判断指定数据不在某个列表序列,如果不在返回True,否则返回False

增加

作用: 增加指定数据到列表中

append()

列表结尾追加数据
语法
列表序列.append(数据)

myList = ['小黄', "小意", "张三", "王五"]

myList.append("李华")

print(myList)  # ['小黄', '小意', '张三', '王五', '李华']

列表追加数据的时候,直接在原列表里面追加了指定数据,即修改了原列表,故列表为可变类型数据。

myList = ['小黄', "小意", "张三", "王五"]

myList.append(["李华", "小明"])

print(myList) 
 # ['小黄', '小意', '张三', '王五', ['李华', '小明']]
extend()

列表结尾追加数据,如果数据是一个序列,则将这个序列的数据逐一添加到列表
语法
列表序列.extend(数据)

myList = ['小黄', "小意", "张三", "王五"]

myList.extend("李华")

print(myList) 
 # ['小黄', '小意', '张三', '王五', '李', '华']
myList = ['小黄', "小意", "张三", "王五"]

myList.extend(["李华", "小明"])

print(myList)  
# ['小黄', '小意', '张三', '王五', '李华', '小明']
insert()

语法
列表序列.insert(位置下标,数据)

myList = ['小黄', "小意", "张三", "王五"]

myList.insert(2,"李华")

print(myList) 
 # ['小黄', '小意', '李华', '张三', '王五']

myList = ['小黄', "小意", "张三", "王五"]

myList.insert(2, ["李华", "小明"])

print(myList)  
# ['小黄', '小意', ['李华', '小明'], '张三', '王五']

删除

del

语法
del 目标

myList = ['小黄', "小意", "张三", "王五"]

print(myList)  # 打印
del myList
print(myList)  # 报错name 'myList' is not defined
myList = ['小黄', "小意", "张三", "王五"]

print(myList)  # ['小黄', '小意', '张三', '王五']
del myList[2]
print(myList)  # ['小黄', '小意', '王五']
print(myList[2])  # 王五

pop()

删除指定下标的数据(默认为最后一个),并返回该数据。
语法
列表序列.pop(下标) .pop() 默认最后一个

myList = ['小黄', "小意", "张三", "王五"]

del_name = myList.pop(2)
print(del_name)  # 张三 str
print(myList[2])  # 王五
remove()

移除列表中某个数据的第一个匹配项。
语法
列表序列.remove(数据)

myList = ['小黄', "小意", "张三", "王五"]

myList.remove("张三")
print(myList)  # ['小黄', '小意', '王五']
clear() 清空列表

列表序列.clear()

myList = ['小黄', "小意", "张三", "王五"]

myList.clear()
print(myList)  # []

修改

修改指定下标数据

列表[下标]=数据

myList = ['小黄', "小意", "张三", "王五"]

myList[2] = "hello"
print(myList)  # ['小黄', '小意', 'hello', '王五']
逆置: reverse()

列表.reverse()

myList = [1,2,3,4,5]

myList.reverse()
print(myList)  # [5, 4, 3, 2, 1]
排序: sort()

语法: 列表序列.sort( key=None,reverse=False) 或 .sort() 默认升序
注意: reverse表示排序规则,reverse = True 降序, reverse = False 升序 (默认)。key是用来如果列表里面有字典,按照字典的某个key进行排序用的

myList = [1, 2, 6, 4, 5]

myList.sort(reverse=True)
print(myList)  # [6, 5, 4, 2, 1]

复制 copy()

myList = ['心情', "晴", "转", "小雨"]

newList = myList.copy()

print(newList)  # ['心情', '晴', '转', '小雨']

5.4列表的循环遍历

需求: 依次打印列表中的各个数据。

  1. while
    在这里插入图片描述
  2. for
    在这里插入图片描述

5.5列表的嵌套使用

所谓列表嵌套指的就是一个列表里面包含了其他的子列表应用场景: 要存储班级一、二、三三个班级学生姓名,且每个班级的学生姓名在一个列表。

myList = [['小明', '小红', '小绿'], ['Tom', 'Lily', 'Rose'], ['张三', '清风', '微泫']]

思考: 如何查找到数据”清风”?

myList = [['小明', '小红', '小绿'], ['Tom', 'Lily', 'Rose'], ['张三', '清风', '微泫']]

# 第一步: 按下标查找到李四所在的列表
print(myList[2])  # ['张三', '清风', '微泫']
# 第二步: 从李四所在的列表里面,再按下标找到数据李四
print(myList[2][1])  # 清风

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

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

相关文章

Java并发回顾

树叶柔和爽朗的呼吸 诗人一路吹着口哨回家 一路踢着石子妙想连篇 感到夕阳和晚风自古多情 自己现在和将来 都是个幸福的人 系列文章目录 Java常见知识点汇总Java集合回顾Java并发回顾… 文章目录 系列文章目录什么是线程和进程?线程与进程的关系,区别及优缺点?图解…

Tcp的三次握手及netty和实际开发如何设置全连接队列参数

上图 第一次握手,client 发送 SYN 到 server,状态修改为 SYN_SEND,server 收到,状态改变为 SYN_REVD,并将该请求放入 sync queue 队列 第二次握手,server 回复 SYN ACK 给 client,client 收到…

【Prometheus】mysqld_exporter采集+Grafana出图+AlertManager预警

前提环境:已经安装和配置好prometheus server 所有组件对应的版本: prometheus-2.44.0 mysqld_exporter-0.14.0 grafana-enterprise-9.1.2-1.x86_64.rpm alertmanager-0.25.0 prometheus-webhook-dingtalk-2.1.0 简介 mysql_exporter是用来收集MysQL或…

spring 事务超时

Transactional(timeout 10) 表示设置事务的超时时间为10秒 表示超过10秒如果该事务中所有的DML语句还没有执行完毕的话,最终结果会选择回滚 默认值-1,表示没有时间限制。 如果最后一条DML语句后面还有很多业务逻辑,这些业务代码执行的时间不…

setState详解

this. setState( [partialState], [callback]) 1.[partialState] :支持部分状态更改 this, setState({ x:100 //不论总共有多少状态,我们只修改了x,其余的状态不动 });callback :在状态更改/视图更新完毕后触发执行,也可以说只要执行了setS…

lightGBM的介绍

一、lightGBM的介绍 1.lightGBM的演进过程 2.AdaBoost算法 AdaBoost(Adaptive Boosting)是一种集成学习算法,通过组合多个弱分类器来构建一个强分类器。它是由Freund和Schapire在1996年提出的,是集成学习中最早被广泛应用的算法…

JDK8-1-Lambda表达式(5)-复合 Lambda 表达式

JDK8-1-Lambda表达式(5)-复合 Lambda 表达式 JDK8 在 java.util.function 包下定义了一些默认的 函数式接口 ,如 Predicate、Consumer、Function、 Comparator (在 java.util.包下) ,这些接口提供了一些复…

运营-21.常见的内容生产方式

常见的 内容生产方式 PGC(Professionally-generated Content)专业生产内容 传统的门户网站内容生产方式,内容多由官方工作人员身或者专业的内容创造者(比如新闻记者等)创造。 UGC(User Generated Content&a…

【好书精读】网络是怎样连接的 浏览器生成消息

如果只是讲解 TCP/IP 、 以太网这些单独的技 术 , 读者就无法理解网络这个系统的全貌 ; 如果无法理解网络的全貌 , 也 就无法理解每一种网络技术背后的本质意义 ; 而如果无法理解其本质意义 , 就只能停留在死记硬背的…

MMDetection代码实战

title: mmdet代码实战 date: 2023-06-10 17:01:45 tags: [detection,pytorch] MMDetection代码实战 这一届主要讲解了,如何构建cfg,如何在目标检测上设置自己的配置文件。主要的思维导图如下 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下…

第3章“程序的机器级表示”:对齐(alignment)

许多计算机系统对基本数据类型的可允许地址做出了一些限制,要求某种类型的对象的地址必须是某个值 k k k (通常是2、4 或 8)的倍数。这种 对齐限制 简化了处理器和存储器系统之间接口的硬件设计。例如,假设一个处理器总是从存储器…

pikachu靶场-File Inclusion

文件包含漏洞概述 在web后台开发中&#xff0c;程序员往往为了提高效率以及让代码看起来更加简介&#xff0c;会使用”包含“函数功能。比如把一系列功能函数都写进function.php中&#xff0c;之后当某个文件需要调用的时候就直接在文件头上写上一句<?php include functio…

多叉树的构建,条件查询,修改删除节点

多叉树的构建查询&#xff0c;新增&#xff0c;修改&#xff0c;删除 文章目录 多叉树的构建查询&#xff0c;新增&#xff0c;修改&#xff0c;删除一&#xff0c;数据库表设计二、新增相对应数据库表的实体类三、新建多叉树树工具类四、多叉树树的条件查询五、多叉树的节点新…

关于【Git】push失败与使用小乌龟(TortoiseGit)时的一些报错解决方案

1.报错:No supported authentication methods available (server sent: publickey) 原因.小乌龟没有设置git路径&#xff0c;解决如下 将红框标注的地址改为自己的git安装地址即可。 2.使用git推送到远程仓库的时候报错Failed to connect to 127.0.0.1 port 7890: 拒绝连接 …

C# 让程序代码在固定的线程里运行

一、概述 在平时我们的开发中&#xff0c;多线程也是经常用到的&#xff0c;尤其是我们做上位机行业的&#xff0c;平时更是必不可少&#xff0c;在以前我做 Unity3d 开发时&#xff0c;其实并不用关心线程的问题&#xff0c;在 Unity 的开发中&#xff0c;所有代码基本都是单…

点云综述(整理自网络资源)

目录 一、什么是点云 二、如何获取点云 1、三维激光扫描仪 2、双目相机 双目测距基本原理 视差图 双目测距的优点与难点 3、RGB-D相机 RGB-D什么意思 RGB-D相机的分类 RGBD相机的缺点&#xff1a; RGBD相机的优点 三、点云有哪些研究方向 1、基于点云的分类 2、基于…

华为OD机试真题 JavaScript 实现【IPv4地址转换成整数】【2023 B卷 100分】

一、题目描述 存在一种虚拟 IPv4 地址&#xff0c;由4小节组成&#xff0c;每节的范围为0~255&#xff0c;以#号间隔&#xff0c; 虚拟 IPv4 地址可以转换为一个32位的整数&#xff0c;例如&#xff1a; 128#0#255#255&#xff0c;转换为32位整数的结果为2147549183&#xff0…

【深入理解函数栈帧:探索函数调用的内部机制】

本章我们要介绍的不是数学中的函数&#xff0c;而是C语言中的函数哟&#xff01; 本章重点 了解汇编指令深刻理解函数调用过程 样例代码&#xff1a; #include <stdio.h> int MyAdd(int a, int b) {int c 0;c a b;return c; }int main() {int x 0xA;int y 0xB;int…

SpringCloud第二篇:Feign远程调用

思考&#xff1a;为啥要学Feign呢&#xff1f; 先来看我们以前利用RestTemplate发起远程调用的代码&#xff1a; String url "http://userservice/user/" order.getUserId(); User user restTemplate.getFor0bject(url,User.class);这里就有几个问题&#xff1a…

首届“设计·无尽谈”论坛完满收官 持续打造当代设计共同体

首届“设计无尽谈”论坛在京举行 5月16日&#xff0c;首届“设计无尽谈”论坛在北京举行&#xff0c;本次论坛以“漫谈当代空间精神”为主题&#xff0c;12位来自顶尖建筑设计领域的嘉宾和设计师到场&#xff0c;论坛以茶话会的形式进行&#xff0c;不受严格的议程和时间限制的…