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进行拼接
后一个列表拼接到前一个列表
a
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 += 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卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷&#…...
leetcode:225. 用队列实现栈
一、题目 链接:225. 用队列实现栈 - 力扣(LeetCode) 函数原型: 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 命令,输入以下内容,保存 [gitlab-ce] nameGitlab CE Repository baseurlhttps://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/ gpgcheck0 enabl…...
Linux入门笔记
1 Linux概述 Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 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框架可以很容易地编写小型、可读的测试,并且可以扩展以支持应用程序和库的复杂功能测试。使用pytest至少需要安装Python3.7或PyPy3。PyPI包名称为pytest 一个快速的例子 # content of test_sample.py def inc(x):return x1def test_ansewer():asser…...
C语言--每日选择题--Day37
第一题 1. 有以下说明语句:则下面引用形式错误的是() struct Student {int num;double score; };struct Student stu[3] {{1001,80}, {1002,75}, {1003,91}} struct Student *p stu; A:p->num B:(p).num C&#…...
Android 12 及以上授权精确位置和模糊位置
请求位置信息权限 为了保护用户隐私,使用位置信息服务的应用必须请求位置权限。 请求位置权限时,请遵循与请求任何其他运行时权限相同的最佳做法。请求位置权限时的一个重要区别在于,系统中包含与位置相关的多项权限。具体请求哪项权限以及…...
scp 指令详细介绍
目录 1. 基本语法 2. 例子 从本地到远程 从远程到本地 从远程到远程 使用端口和指定私钥 递归复制目录 3. 注意事项 如何拷贝文件的软链接 SCP(Secure Copy Protocol)是一种用于在计算机之间安全地传输文件的协议。它通过加密的方式在网络上安全…...
超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...
椭圆曲线密码学(ECC)
一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...
基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...
2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...
MinIO Docker 部署:仅开放一个端口
MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...
API网关Kong的鉴权与限流:高并发场景下的核心实践
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 引言 在微服务架构中,API网关承担着流量调度、安全防护和协议转换的核心职责。作为云原生时代的代表性网关,Kong凭借其插件化架构…...
算术操作符与类型转换:从基础到精通
目录 前言:从基础到实践——探索运算符与类型转换的奥秘 算术操作符超级详解 算术操作符:、-、*、/、% 赋值操作符:和复合赋值 单⽬操作符:、--、、- 前言:从基础到实践——探索运算符与类型转换的奥秘 在先前的文…...
WebRTC调研
WebRTC是什么,为什么,如何使用 WebRTC有什么优势 WebRTC Architecture Amazon KVS WebRTC 其它厂商WebRTC 海康门禁WebRTC 海康门禁其他界面整理 威视通WebRTC 局域网 Google浏览器 Microsoft Edge 公网 RTSP RTMP NVR ONVIF SIP SRT WebRTC协…...
GeoServer发布PostgreSQL图层后WFS查询无主键字段
在使用 GeoServer(版本 2.22.2) 发布 PostgreSQL(PostGIS)中的表为地图服务时,常常会遇到一个小问题: WFS 查询中,主键字段(如 id)莫名其妙地消失了! 即使你在…...
