当前位置: 首页 > news >正文

Python-列表详解(列表的创建、用法、遍历、注意事项、特点等)

本文有以下内容:

列表的创建
列表的下标索引注意事项
列表的访问
列表的增加元素
列表的删除元素
列表的任意删除元素
列表的查找元素
列表的查找元素位置
列表的插入任意位置
列表的遍历
列表的拼接方式
列表的切片操作以及注意事项

列表类似于其他语言的数组

列表和元组的区别:
列表可变
元组不能变

创建列表:
1、a = []表示一个空的列表
2、b = list()
3、可以存放无限制类型的变量

a = []b = list()c = [10,10.02,'zhangsan']​

下标访问运算符[](索引)
a[2]
下标是从0开始计数

使用下标访问列表元素和使用下标修改列表元素

#把第一个元素改为100
a = [1,2,3,4]
a[0] = 100


访问超出范围就会出异常

获取列表长度:使用len()函数
len()可以传字符串、列表、元组、自定义的类、字典、、、、(动态类型)

​a = [1,2,3,4,5]
b = len(a)#计算列表的长度并赋值给b​

下标可以写成负数,等价于len(a) - 1
len(a[-1]) = a(len(a) - 1) 
不是下标是1,而是a(len(a) - 1)的简写版本
也可以理解为倒数第一个元素,a[-2]就是倒数第二个元素1

切片操作:得到一个子列表
使用[beg:end]进行切片,表示一段区间
左闭右开[) 包含左边不包含右边

可以省略前后两边界(开始边界,结束边界)
[beg:] 从开始位置一直取到最后末尾
[:end]从列表的0开始,一直取到结束end的后边界
[:]从开始到结束,都省略
切片中的下标也可以写成负数。负数相当于是从后开始数,负数索引就是倒数元素

切片操作是一个高效的操作,只是取出一部分,并不涉及数据拷贝
即使是切片范围很大,依旧高效

切片可以指定步长,(range就可以设置步长)
a[::1]这个数字就是步长
步长的数值可以为-1,意为从后往前取(range步长也可以取负数)

当切片范围超出有效下标,不会出现异常!而是尽可能找到符合要求的元素(下标越界异常)

字符串也可以使用切片操作

a = [1,2,3,4,5]print(a[0:2])表示对列表a进行切片,从索引0开始到1(因为不包含右边)

#切片操作
a =[1,2,3,4]
print(a[1:3])a = [1,2,3,4,5,6,7,8,9,0]
print(a[::1])#步数取1
print(a[::2])#步数取2
print(a[:-1:2])#负数索引意思是倒数元素
print(a[::-1])
print(a[::-2])
print(a[::-3])

 

遍历:把列表中的每一个元素依次取出来,并进行某种操作(就像老师点名,要求不重不漏)

for elem in 可迭代对象(即可以一个一个拿出来表示):
    循环体

​
for elem in a:#elem表示元素​

列表新增元素
列表.append(新增内容)函数
需要搭配对象使用的函数(founction),叫做方法(meothd)
什么叫对象?
在Python中,对象可以视为”变量“

a = [1,2,3,4,5]
​a.append('hello')#在列表a的最后加上‘hello’元素​​

使用insert往任意位置插入新增元素

a.insert(1,'hello')
#1表示插入位置,’hello‘表示新增元素,如果插入位置超过列表元素,就会加到最后一个位置


列表查找元素
print(1 in a)
a是都有1,有返回True,没有返回False
print(1 not in a)
返回值是bool

a = [1,2,3,4,5]
print(1 in a)#判断1是否在列表a中

查找位置:
使用index方法,判定元素在列表所在位置

a = [1,2,3,4,5]
a.index(2)#看2在a中的位置,如果不在直接抛出异常

删除元素:
a.pop()删除最末尾的元素

​a = [1,2,3,4,5]
a.pop()#删除最后一个元素​

删除任意位置:
a.pop(1)#1是a中的下标的元素

​a = [1,2,3,4,5]
a.pop(1)#删除第二个位置的元素
​​

使用remove方法,按照值进行删除:
a.remove(’hello‘)#把列表a中的'hello'删除
你只需要知道要删除那个值就可以了

a = [1,2,3,4,5,'hello']
a.remove(’hello‘)#删除列表a中的‘hello’元素

列表的拼接:
多个列表进行拼接

1、使用 + 号
a + b
按先后顺序拼接,生成一个更大的列表,旧的列表不变

a = [1,2,3]
b = [4,5,6]
c = a + b
#c的结果为C = [1,2,3,4,5,6]


2、extend进行拼接
后一个列表拼接到前一个列表

b
a.extend(b)
修改a,不改变b

​
a = [1,2,3]
b = [4,5,6]
a.extend(b)
#a的结果为a = [1,2,3,4,5,6]​

None 特殊值:什么都没有

extend没有返回值,
c  = a.extend(b) #c没有值,为None,类似于C中的NULL空指针

3、 += 进行拼接


a += b 等价于 a = a + b #a旧的列表被替换了

​
​
a = [1,2,3]
b = [4,5,6]
a += b
#a的结果为a = [1,2,3,4,5,6]​​

相比之下,extend更高效,+=是拷贝,而前者是直接加在后面

相关文章:

Python-列表详解(列表的创建、用法、遍历、注意事项、特点等)

本文有以下内容: 列表的创建 列表的下标索引注意事项 列表的访问 列表的增加元素 列表的删除元素 列表的任意删除元素 列表的查找元素 列表的查找元素位置 列表的插入任意位置 列表的遍历 列表的拼接方式 列表的切片操作以及注意事项 列表类似于其他语言的数组 列…...

【langchain实战】开源项目-RasaGPT

1、概述 RasaGpt是一个建立在 Rasa 和 Langchain 之上的没有显示界面的LMM聊天机器人平台。它是一个Rasa和Telegram这种利用像Langchain这样的LMM库进行索引、检索和上下文注入的样板及参考实现。 开源地址: GitHub - paulpierre/RasaGPT: 💬 RasaGPT is…...

在线yml和properties相互转换

目前搜索到的大部分代码都存在以下问题: 复杂结构解析丢失解析后顺序错乱 所以自己写了一个,经过不充分测试,基本满足使用。可以直接在线使用 在线地址 除了yml和properties互转之外,还可以生成代码、sql转json等,可…...

数据收集与处理(爬虫技术)

文章目录 1 前言2 网络爬虫2.1 构造自己的Scrapy爬虫2.1.1 items.py2.1.2 spiders子目录2.1.3 pipelines.py 2.2 构造可接受参数的Scrapy爬虫2.3 运行Scrapy爬虫2.3.1 在命令行运行2.3.2 在程序中调用 2.4 运行Scrapy的一些要点 3 大规模非结构化数据的存储与分析4 全部代码 1 …...

C# 雪花算法生成Id工具类

写在前面 传说自然界中并不存在两片完全一样的雪花的,每一片雪花都拥有自己漂亮独特的形状、独一无二;雪花算法也表示生成的ID如雪花般独一无二,该算法源自Twitter。 雪花算法主要用于解决分布式系统的唯一Id生成问题,在生产环境…...

什么是通配符证书?

通配符证书是一种特殊的数字证书,主要用于加密网站与用户之间的通信,以保证数据的私密性和完整性。它的独特之处在于可以使用一个单一的证书来保护无限数量的相关子域名。它使用通配符字符(*)作为占位符,代表任意子域名…...

西南科技大学模拟电子技术实验五(集成运算放大器的应用设计)预习报告

一、计算/设计过程 设计一:用集成运放设计一个输入为0.05v,放大为-100的反相比例运算电路。 对于理想电路,反相比例运算电路的输出电压与输入电压之间的关系如下: =-100,所以 =100 若是假定R1为100k,则R2= =1k 为了减小输入级偏置电流引起的运算误差,在同相输入端…...

LeetCode 每日一题 Day 4

2477. 到达首都的最少油耗 给你一棵 n 个节点的树(一个无向、连通、无环图),每个节点表示一个城市,编号从 0 到 n - 1 ,且恰好有 n - 1 条路。0 是首都。给你一个二维整数数组 roads ,其中 roads[i] [ai,…...

服务器数据恢复—重装系统导致XFS文件系统分区丢失的数据恢复案例

服务器数据恢复环境: 服务器使用磁盘柜RAID卡搭建了一组riad5磁盘阵列。服务器上层分配了一个LUN,划分了两个分区:sdc1分区和sdc2分区。通过LVM扩容的方式,将sdc1分区加入到了root_lv中;sdc2分区格式化为XFS文件系统。…...

Scala 从入门到精通

Scala 从入门到精通 数据类型 pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http:…...

华为OD机试 - 九宫格按键输入 - 逻辑分析(Java 2023 B卷 200分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷&#…...

leetcode:225. 用队列实现栈

一、题目 链接&#xff1a;225. 用队列实现栈 - 力扣&#xff08;LeetCode&#xff09; 函数原型&#xff1a; typedef struct { } MyStack; MyStack* myStackCreate() void myStackPush(MyStack* obj, int x) int myStackPop(MyStack* obj) int myStackTop(MyStack* obj) …...

Centos7安装GItLab(在线版)

基础环境准备 1.配置清华大学镜像仓库 新建仓库配置文件使用 vim /etc/yum.repos.d/gitlab-ce.repo 命令&#xff0c;输入以下内容,保存 [gitlab-ce] nameGitlab CE Repository baseurlhttps://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/ gpgcheck0 enabl…...

Linux入门笔记

1 Linux概述 Linux 是一套免费使用和自由传播的类 Unix 操作系统&#xff0c;是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心…...

nvm for windows使用与node/npm/yarn的配置

1 下载 nvm for windows download – github 下拉到Assets, 下载.exe文件 2 安装 安装到如下文件夹中 目录可以自己选, 可以换别的名字, 自己记住即可 新手建议全部看完再进行个人配置, 或者使用与博主一致的路径 D:\DevelopEnvironment\nvm3 配置nvm使用的镜像 node_mir…...

打工人副业变现秘籍,某多/某手变现底层引擎-StableDiffusionWebUI界面基本布局和操作

一、界面设置 文生图:根据文本提示生成图像 图生图:图像生成图像;功能很强大,自己在后续使用中探索。 后期处理:图片处理;功能很强大,自己在后续使用中探索。 PNG信息:这是一个快速获取图片生成参数的便捷功能。如果图像是在SD里生成的,您可以使用“发送到”按钮将…...

01、pytest:帮助你编写更好的程序

简介 ​pytest框架可以很容易地编写小型、可读的测试&#xff0c;并且可以扩展以支持应用程序和库的复杂功能测试。使用pytest至少需要安装Python3.7或PyPy3。PyPI包名称为pytest 一个快速的例子 # content of test_sample.py def inc(x):return x1def test_ansewer():asser…...

C语言--每日选择题--Day37

第一题 1. 有以下说明语句&#xff1a;则下面引用形式错误的是&#xff08;&#xff09; struct Student {int num;double score; };struct Student stu[3] {{1001,80}, {1002,75}, {1003,91}} struct Student *p stu; A&#xff1a;p->num B&#xff1a;(p).num C&#…...

Android 12 及以上授权精确位置和模糊位置

请求位置信息权限 为了保护用户隐私&#xff0c;使用位置信息服务的应用必须请求位置权限。 请求位置权限时&#xff0c;请遵循与请求任何其他运行时权限相同的最佳做法。请求位置权限时的一个重要区别在于&#xff0c;系统中包含与位置相关的多项权限。具体请求哪项权限以及…...

scp 指令详细介绍

目录 1. 基本语法 2. 例子 从本地到远程 从远程到本地 从远程到远程 使用端口和指定私钥 递归复制目录 3. 注意事项 如何拷贝文件的软链接 SCP&#xff08;Secure Copy Protocol&#xff09;是一种用于在计算机之间安全地传输文件的协议。它通过加密的方式在网络上安全…...

构建第一个事件驱动型 Serverless 应用

我相信&#xff0c;我们从不缺精彩的应用创意&#xff0c;我们缺少的把这些想法变成现实的时间和付出。 我认为&#xff0c;无服务器技术真的有助于最大限度节省应用开发和部署的时间&#xff0c;并且无服务器技术用可控的成本&#xff0c;实现了我的那些有趣的想法。 在我 2…...

特征与特征图的区别

1.特征图是什么&#xff1f; 特征图是指在卷积神经网络中&#xff0c;通过卷积操作从输入图像中提取出来的图像特征。在卷积神经网络中&#xff0c;每一层的输出都是一个三维张量&#xff0c;其中第三维表示特征图的数量。每个特征图都是由若干个卷积核对上一层的特征图进行卷…...

Linux学习笔记之七(shell脚本的基本语法)

Shell 1、Shell脚本2、常用运算符2、特殊语法4、关于变量的一些命令4.1、echo4.2、export4.3、read4.4、declare/typeset4.5、local4.6、unset 5、基本逻辑语法5.1、if判断5.2、for循环5.3、while循环5.4、case语句 6、函数定义7、多脚本链接 1、Shell脚本 学习shell脚本开发之…...

PySpark开发环境搭建常见问题及解决

PySpark环境搭建常见问题及解决 1、winutils.exe问题2、SparkURL问题3、set_ugi()问题 本文主要收录PySpark开发环境搭建时常见的一些问题及解决方案&#xff0c;并收集一些相关资源 1、winutils.exe问题 报错摘要&#xff1a; WARN Shell: Did not find winutils.exe: {} ja…...

supervisor管理启动重启,Java,Go程序Demo

简介 Supervisor 是一款 Python 开发的进程管理系统&#xff0c;允许用户监视和控制 Linux 上的进程&#xff0c;能将一个普通命令行进程变为后台守护进程&#xff0c;异常退出时能自动重启 1、安装 yum -y install supervisor2、配置默认配置文件 echo_supervisord_conf &g…...

HarmonyOs 4 (三) ArkTS语言

目录 一 认识ArkTs语言1.1 ArkTs1.2 基本结构 二 基本语法2.1 声明式UI2.1.1 创建组件2.1.1.1 无参数2.1.1.2 有参数2.1.1.3 组件样式2.1.1.4 组件方法2.1.1.5 组件嵌套 2.1.2 自定义组件2.1.2.1 基本结构2.1.2.2 成员函数/变量2.1.2.3 自定义组件的参数规定2.1.2.4 Build函数2…...

PostGIS学习教程九:空间连接

PostGIS学习教程九&#xff1a;空间连接 空间连接&#xff08;spatial joins&#xff09;是空间数据库的主要组成部分&#xff0c;它们允许你使用空间关系作为连接键&#xff08;join key&#xff09;来连接来自不同数据表的信息。我们认为“标准GIS分析”的大部分内容可以表示…...

C++ day56 两个字符串的删除操作 编辑距离

题目1&#xff1a;583 两个字符串的删除操作 题目链接&#xff1a;两个字符串的删除操作 对题目的理解 返回使两个单词word1和word2相同的最少删除多少个元素&#xff0c;两个单词至少包含一个字母&#xff0c;且仅包含小写字母 思路1&#xff1a;这道题与昨天的不同子序列…...

Android studio中如何生成jar包?

文章目录 需求背景目录结构gradle结构makeJar的语法解析 执行makeJar 任务拿到jar包 需求背景 别部门做C语言开发的同学开发了一个库&#xff0c;需要给我们Android端去调用。 我们拿到源码&#xff0c;首先需要做的是通过CMake去把C源码编译链接成动态库。 当然静态库也行&am…...

【2】基于多设计模式下的同步异步日志系统-设计模式

6. 相关技术知识补充 6.1 不定参函数 在初学C语⾔的时候&#xff0c;我们都⽤过printf函数进⾏打印。其中printf函数就是⼀个不定参函数&#xff0c;在函数内部可以根据格式化字符串中格式化字符分别获取不同的参数进⾏数据的格式化。 ⽽这种不定参函数在实际的使⽤中也⾮常…...

巴中网站制作公司/好口碑关键词优化地址

一、实现Comparator接口方法类似 Merge two sorted list 中介绍的&#xff0c;包括了有名类和匿名类两种方式具体使用&#xff1a;排序&#xff1a;Collections.sort(容器&#xff0c;comparator)Queue q new PriorityQueue(capacity,comparator)二、comparable 抽象类对于com…...

网站建设需要自备什么/大数据培训班出来能就业吗

题目1.除了整数以外&#xff0c;还要支持真分数的四则运算&#xff0c;真分数的运算&#xff0c;例如&#xff1a;1/6 1/8 7/24 2.运算符为 , −, , 3.并且要求能处理用户的输入&#xff0c;并判断对错&#xff0c;打分统计正确率。 4.要求能处理用户输入的真分数&#xff0…...

网站建设完成情况/青岛网站设计微动力

有时候我们想查看一个exe引用了哪些动态库&#xff0c;或者我们想看某个动态库包含哪些接口函数&#xff0c;这时候我们就可以使用dumpbin.exe工具。 1.输入dumpbin - imports *.exe 查看它的输入信息&#xff0c;可以看到它加载了 2.输入dumpbin -imports *.dll&#xff0c;列…...

建设农村信息网站/哪家公司做seo

Python随机边缘填充:让你的图像变得更完美 在处理图像时,很多时候需要对图像进行边缘填充。那么问题来了,如何才能让图像的边缘填充看起来更自然、更完美呢?Python中有很多方法可以实现这个目的,本文将介绍一种让你的图像边缘填充看起来更自然的方法。 通常情况下,我们…...

asp网站域名/seo网站推广简历

由MySQL提供的模式匹配的其它类型是使用扩展正则表达式。当你对这类模式进行匹配测试时&#xff0c;使用REGEXP和NOT REGEXP操作符(或RLIKE和NOT RLIKE&#xff0c;它们是同义词)。3. 正则表达式的使用&#xff1b;扩展正则表达式的一些字符是&#xff1a; ‘.’匹配任…...

如何用dw做网站地图/怎样淘宝seo排名优化

沙市热点浸锌网格板厂家A一、密型钢格板简介&#xff1a;I型钢格板由I型扁钢(扁钢两边厚中间薄)和麻花钢(也叫扭绞方钢&#xff0c; 一般有5x5 6x6 8x8 的方钢&#xff0c;扭成的钢筋)进行交叉排列&#xff0c;并且焊接成中间带有方形格子的一种钢铁制品。二、密型钢格板的用途…...