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 …...
树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...
《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...
CocosCreator 之 JavaScript/TypeScript和Java的相互交互
引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
LLMs 系列实操科普(1)
写在前面: 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容,原视频时长 ~130 分钟,以实操演示主流的一些 LLMs 的使用,由于涉及到实操,实际上并不适合以文字整理,但还是决定尽量整理一份笔…...
scikit-learn机器学习
# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...
C++ 设计模式 《小明的奶茶加料风波》
👨🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...
LOOI机器人的技术实现解析:从手势识别到边缘检测
LOOI机器人作为一款创新的AI硬件产品,通过将智能手机转变为具有情感交互能力的桌面机器人,展示了前沿AI技术与传统硬件设计的完美结合。作为AI与玩具领域的专家,我将全面解析LOOI的技术实现架构,特别是其手势识别、物体识别和环境…...
若依登录用户名和密码加密
/*** 获取公钥:前端用来密码加密* return*/GetMapping("/getPublicKey")public RSAUtil.RSAKeyPair getPublicKey() {return RSAUtil.rsaKeyPair();}新建RSAUti.Java package com.ruoyi.common.utils;import org.apache.commons.codec.binary.Base64; im…...
