Python编程学习第一篇——Python零基础快速入门(五)-列表(List)
今天我们来一起学习Python的列表(list),Python中的列表(List)是一种有序、可变的数据结构,可以用来存储多个值。列表可以包含不同类型的数据,例如整数、浮点数、字符串等。以下是关于Python列表定义、语法和基本操作的详细示例:
1. 定义列表:
可以使用方括号 [] 来定义一个列表。例如:
numbers = [1, 2, 3, 4, 5]fruits = ['apple', 'banana', 'orange']mixed = [1, 'two', 3.0, 'four']
2. 访问列表元素:
可以使用索引来访问列表中的元素。列表的索引从0开始,表示第一个元素。
print(numbers[0]) # 输出:1print(fruits[1]) # 输出:bananaprint(mixed[2]) # 输出:3.0
3. 修改列表元素:
列表中的元素是可变的,可以通过赋值来修改。
fruits[0] = 'pear'print(fruits) # 输出:['pear', 'banana', 'orange']
4. 列表切片:
可以使用切片(slice)来访问列表中的一部分元素。
print(numbers[1:3]) # 输出:[2, 3]print(fruits[:2]) # 输出:['pear', 'banana']print(mixed[1:]) # 输出:['two', 3.0, 'four']
5. 列表长度:
可以使用内置函数 len() 来获取列表的长度。
print(len(fruits)) # 输出:3
6. 列表的添加和删除:
可以使用 append() 方法在列表末尾添加元素,使用 remove() 方法删除指定的元素。
fruits.append('grape')print(fruits) # 输出:['pear', 'banana', 'orange', 'grape']fruits.remove('banana')print(fruits) # 输出:['pear', 'orange', 'grape']
7. 列表的排序:
可以使用 sort() 方法对列表进行排序。
numbers.sort()print(numbers) # 输出:[1, 2, 3, 4, 5]
8. 列表的复制:
可以使用切片来复制一个列表。
fruits_copy = fruits[:]print(fruits_copy) # 输出:['pear', 'orange', 'grape']
以上是关于Python列表的定义、语法和基本操作的示例。通过这些示例可以对列表有个初步的了解,下面我们详细说明一下List的一些常用操作方法和特性:
1. 创建List:
可以通过直接赋值来创建一个List,例如:
list1 = [1, 2, 3, 4]list2 = ['a', 'b', 'c']list3 = [1, 'hello', True]
也可以使用list()函数将其他类型的数据转换为List,例如:
str1 = "hello"list4 = list(str1) # ['h', 'e', 'l', 'l', 'o']tuple1 = (1, 2, 3)list5 = list(tuple1) # [1, 2, 3]
2. 索引和切片:
List中的元素可以通过索引来访问,索引从0开始,例如:
list1 = [1, 2, 3, 4]print(list1[0]) # 1print(list1[2]) # 3
也可以使用负数索引从末尾开始计数,例如:
print(list1[-1]) # 4print(list1[-2]) # 3
可以通过切片来访问List的子集,切片使用[start:end:step]的形式,start表示起始索引(默认为0),end表示结束索引(默认为List的长度),step表示步长(默认为1),例如:
list1 = [1, 2, 3, 4, 5]print(list1[1:]) # [2, 3, 4, 5]print(list1[:3]) # [1, 2, 3]print(list1[::2]) # [1, 3, 5]
3. 修改List:
可以通过索引来修改List中的元素,例如:
list1 = [1, 2, 3, 4]list1[0] = 5print(list1) # [5, 2, 3, 4]
也可以使用切片来修改List的子集,例如:
list1 = [1, 2, 3, 4]list1[1:3] = [5, 6]print(list1) # [1, 5, 6, 4]
4. 添加和删除元素:
可以使用append()方法向List末尾添加一个元素,例如:
list1 = [1, 2, 3]list1.append(4)print(list1) # [1, 2, 3, 4]
可以使用insert()方法在指定位置插入一个元素,例如:
list1 = [1, 2, 3]list1.insert(1, 4)print(list1) # [1, 4, 2, 3]
可以使用remove()方法删除List中的某个元素,例如:
list1 = [1, 2, 3, 4]list1.remove(2)print(list1) # [1, 3, 4]
可以使用pop()方法删除List中的指定索引的元素,并返回被删除的元素,例如:
list1 = [1, 2, 3, 4]element = list1.pop(1)print(list1) # [1, 3, 4]print(element) # 2
可以使用del关键字删除List中的某个元素或整个List,例如:
list1 = [1, 2, 3, 4]del list1[1]print(list1) # [1, 3, 4]list2 = [1, 2, 3, 4]del list2 # 删除整个List
5. 其他常用方法:
- len(list):返回List中元素的个数;
- list.index(element):返回元素在List中首次出现的索引;
- list.count(element):返回元素在List中出现的次数;
- list.sort():对List进行排序;
- list.reverse():将List中的元素反转;
List是可变的数据类型,可以直接在原地进行修改。它是Python中十分常用的数据结构,具有灵活性和高效性,能够满足各种需求。好了,我们今天就先学习到这里,下期再会。
相关文章:
Python编程学习第一篇——Python零基础快速入门(五)-列表(List)
今天我们来一起学习Python的列表(list),Python中的列表(List)是一种有序、可变的数据结构,可以用来存储多个值。列表可以包含不同类型的数据,例如整数、浮点数、字符串等。以下是关于Python列表…...
c# - 运算符 << 不能应用于 long 和 long 类型的操作数
Compiler Error CS0019 c# - 运算符 << 不能应用于 long 和 long 类型的操作数 处理方法 特此记录 anlog 2024年5月30日...
问题排查|记录一次基于mymuduo库开发的服务器错误排查(回响服务器无法正常工作)
问题背景: 服务器程序如下: #include <mymuduo/TcpServer.h> #include <mymuduo/Logger.h>#include <string> #include <functional>class EchoServer { public:EchoServer(EventLoop *loop,const InetAddress &addr, con…...
中介模式实现聊天室
中介者模式的核心逻辑就是解耦对象‘多对多’的相互依赖关系。当遇到一大堆混乱的对象呈现“网状结构”,利用通过中介者模式解耦对象之间的通讯。 代码案例 抽象中介类 public abstract class AbstractChatRoom {public abstract void notice(String message , Us…...
游戏开发与游戏设计区别
游戏设计与游戏开发是两个紧密相关但有着不同重点的领域,通常需要不同的技能和流程。以下是对游戏设计与游戏开发的详细解释,以及两者的区别: 游戏设计是关于构思和规划游戏的内容、机制和体验的过程。 主要内容: 故事和情节:构…...
卡尔曼滤波算法的matlab实现
卡尔曼滤波算法的matlab实现 figure; hold on;Z(1:1:100); %观测值:第一秒观测1m 第二秒观测两米 匀速运动, 每秒1m, 最后拟合的也是速度 1m/splot(Z); plot([0,100], [1,1]);noiserandn(1,100)*0.5; %生成方差为1的高斯噪声 ZZnoise; % 加入噪声plot(Z);X[0;…...
Unity Obi Rope失效
文章目录 前言一、WebGL端Obi Rope失效二、Obi Rope 固定不牢三、使用Obi后卡顿总结 前言 Obi 是一款基于粒子的高级物理引擎,可模拟各种可变形材料的行为。 使用 Obi Rope,你可以在几秒内创建绳索和杆子,同时完全控制它们的形状和行为&…...
基于Nginx和Consul构建自动发现的Docker服务架构——非常之详细
基于Nginx和Consul构建自动发现的Docker服务架构 文章目录 基于Nginx和Consul构建自动发现的Docker服务架构资源列表基础环境一、安装Docker1.1、Consul节点安装1.2、registrator节点安装 二、案例前知识点2.1、什么是Consul 三、基于Nginx和Consul构建自动发现的Docker服务架构…...
Gnu/Linux 系统编程 - 如何获取帮助及一个演示
Gnu/Linux 系统编程 - 如何获取帮助及一个演示 今天开始写 Gnu/Linux 环境下的系统编程,主要的用的语言是 C,主要是为了学习 C 语言,边学边写,这样的学习速度是比较快的。 今天就先介绍下如何在手头上没有任何资料的情况下&…...
ffmpeg 的sws_scale接口函数解析
ffmpeg 的 sws_scale 函数是 libswscale 库中的一个重要函数,用于进行图像的缩放和颜色空间转换。它的主要作用是将输入图像帧转换为另一种尺寸或颜色格式的输出图像帧。下面详细解析一下 sws_scale 函数的作用、参数等。 sws_scale 函数的作用 ffmpeg 的 sws_sca…...
MoonBit 本周新增类型标注语法、继续进行核心库 API 整理工作
MoonBit更新 类型标注增加了新的语法T? 来表示Option[T] struct Cell[T] {val: Tnext: Cell[T]? }fn f(x : Cell[T]?) -> Unit { ... }相当于 struct Cell[T] {val: Tnext: Option[Cell[T]] }fn f(x : Option[Cell[T]]) -> Unit { ... }旧的Option[T]仍然兼容&…...
YOLOv10训练自己的数据集
目录 0、引言 1、环境配置 2、数据集准备 3、创建配置文件 3.1、设置官方配置文件:default.yaml,可自行修改。 3.2、设置data.yaml 4、进行训练 4.1、方法一 4.2、方法二 5、验证模型 5.1、命令行输入 5.2、脚本运行 6、总结 0、引言 本文…...
探索Web前端三大主流框架:Angular、React和Vue.js
探索Web前端三大主流框架:Angular、React和Vue.js 在现代Web开发中,前端框架已经成为开发者构建复杂应用的重要工具。Angular、React和Vue.js是目前最受欢迎的三大前端框架,它们各具特色,适用于不同的开发需求。本文将详细介绍这…...
《HelloGitHub》第 98 期
兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。 github.com/521xueweihan/HelloGitHub 这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Python、…...
Xtransfer面试内容
一、Xtransfer一轮面试内容 1.进程间的通信方式 2.redis的故障转移是如何选举主节点的 3.redis快的原因 4.redis、ES、mysql选型的场景 5.redis项目的挑战和难点 6.redis和ZK各自的应用场景 7.ZK选举的算法 8.socket建立连接的过程,与TCP是一回事吗? So…...
论文笔记:Image Anaimation经典论文-运动关键点模型(Monkey-Net)
Monkey-Net(MOviNg KEYpoints) paper: https://arxiv.org/pdf/1812.08861, CVPR 2019 code: https://github.com/AliaksandrSiarohin/monkey-net/tree/master 相关工作 视频生成演变过程: spatio-temporal network: 如基于GAN网络的生成模…...
Kibana创建ElasticSearch 用户角色
文章目录 1, ES 权限参考2, 某应用的管理员权限:可以open/close/delete/cat/read/write 索引3, 某应用的读写权限:可以cat/read/write 索引 (不能删除索引或数据)4, 某应用的只读权限 1, ES 权限参考 https://www.elastic.co/gui…...
Vue基础(2)响应式基础
一. reactive() 在 Vue3 中,可以使用 reactive() 创建一个响应式对象或数组: <script setup> import { reactive } from vueconst state reactive({ count: 0 }) </script><template><button click"state.count">{…...
Mysql基础教程(15):别名
MySQL 别名 在本文中,我们讨论了 MySQL 中的列别名,表别名和派生表别名,以及使用别名来简化 SQL 和提高 SQL 的可读性。 如果在一个 SQL 中涉及到多个表,我们需要使用 table_name.column_name 这样的方式来引用每个表的字段&…...
SpringCloud 微服务中网关如何记录请求响应日志?
在基于SpringCloud开发的微服务中,我们一般会选择在网关层记录请求和响应日志,并将其收集到ELK中用作查询和分析。 今天我们就来看看如何实现此功能。 日志实体类 首先我们在网关中定义一个日志实体,用于组装日志对象 Data public class …...
如何在看板中有效管理突发紧急任务
在看板中有效管理突发紧急任务需要:设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP(Work-in-Progress)弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中,设立专门的紧急任务通道尤为重要,这能…...
VTK如何让部分单位不可见
最近遇到一个需求,需要让一个vtkDataSet中的部分单元不可见,查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行,是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示,主要是最后一个参数,透明度…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...
零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...
MFC 抛体运动模拟:常见问题解决与界面美化
在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...
解读《网络安全法》最新修订,把握网络安全新趋势
《网络安全法》自2017年施行以来,在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂,网络攻击、数据泄露等事件频发,现行法律已难以完全适应新的风险挑战。 2025年3月28日,国家网信办会同相关部门起草了《网络安全…...
pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)
目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 (1)输入单引号 (2)万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...
Linux-进程间的通信
1、IPC: Inter Process Communication(进程间通信): 由于每个进程在操作系统中有独立的地址空间,它们不能像线程那样直接访问彼此的内存,所以必须通过某种方式进行通信。 常见的 IPC 方式包括&#…...
数据结构:泰勒展开式:霍纳法则(Horner‘s Rule)
目录 🔍 若用递归计算每一项,会发生什么? Horners Rule(霍纳法则) 第一步:我们从最原始的泰勒公式出发 第二步:从形式上重新观察展开式 🌟 第三步:引出霍纳法则&…...
智警杯备赛--excel模块
数据透视与图表制作 创建步骤 创建 1.在Excel的插入或者数据标签页下找到数据透视表的按钮 2.将数据放进“请选择单元格区域“中,点击确定 这是最终结果,但是由于环境启不了,这里用的是自己的excel,真实的环境中的excel根据实训…...
