[Python学习篇] Python列表

列表(List):列表是可变的,这意味着你可以修改列表的内容,例如增加、删除或更改元素。列表使用方括号 [] 表示。列表可以一次性存储多个数据,且可以存不同数据类型。

语法:

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


列表的查找

  • 下标:返回指定下标位置的数据。下标超出列表长度报错 IndexError: list index out of range

示例:

name_list = ['Tom', 'Jerry', 'Spike']
print(name_list[0])  # Tom
print(name_list[1])  # Jerry
print(name_list[2])  # Spike
  • index():返回指定数据所以位置的下标。数据不存在报错:ValueError: 'xxx' is not in list

语法:

列表序列.index(数据, 开始位置下标, 结束位置下标)  #省略开始结束下标表示在整个列表中查找。不省略表示在指定下标范围内查找。

示例:

name_list = ['Tom', 'Jerry', 'Spike']
print(name_list.index('Tom'))   # 返回所在下标 0
print(name_list.index('Jerry', 0, 2))
  • count():统计指定数据在列表中出现的次数。

示例:

name_list = ['Tom', 'Jerry', 'Spike']
print(name_list.count('Tom'))  # 打印出现次数 1
  •  len():获取列表的长度。即列表中数据的个数。
name_list = ['Tom', 'Jerry', 'Spike']
print(len(name_list))  # 打印列表长度 3

列表的判断

  • in:判断指定数据在列表中是否存在,存在返回True,不存在返回False。

语法:

数据 in 列表序列

示例:

name_list = ['Tom', 'Jerry', 'Spike']
print('Tom' in name_list)  # 存在 打印 True
  • not in:判断指定数据在列表中是否不存在,不存在返回True,存在返回False。

语法:

数据 not in 列表序列

示例:

name_list = ['Tom', 'Jerry', 'Spike']
print('Tom' not in name_list)  # 存在 打印 False
print('Lee' not in name_list)  # 不存在 打印 True

列表的增加

  • append():列表结尾追加数据。

语法:

列表序列.append(数据)    # 直接修改了原列表。可以看出列表数据是可变的

示例:

name_list = ['Tom', 'Jerry', 'Spike']
name_list.append('Toodles Galore')
print(name_list)

  • extend():列表结尾追加数据,如果数据是⼀个序列,则将这个序列的数据逐⼀添加到列表。

语法:

列表序列.extend(数据) 

示例1:

name_list = ['Tom', 'Jerry', 'Spike']
name_list.extend('Tom')
print(name_list)  # ['Tom', 'Jerry', 'Spike', 'T', 'o', 'm']

示例2:合并列表

name_list = ['Tom', 'Jerry', 'Spike']
name_list.extend(['Toodles Galore', 'Butch'])
print(name_list)  # ['Tom', 'Jerry', 'Spike', 'Toodles Galore', 'Butch']
  • insert():将数据插入到指定下标位置。

语法:

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

示例:

name_list = ['Tom', 'Jerry', 'Spike']
name_list.insert(1, 'Butch')
print(name_list)    # ['Tom', 'Butch', 'Jerry', 'Spike']

列表的删除

  • del:删除目标

语法:

del 目标                   # del (目标)

示例:删除变量

name_list = ['Tom', 'Jerry', 'Spike']
del name_list  # 删除变量
print(name_list)  # NameError: name 'name_list' is not defined

示例:删除列表中的元素

name_list = ['Tom', 'Jerry', 'Spike']
del name_list[0]
print(name_list)  # ['Jerry', 'Spike']
  • pop():删除指定下标的数据(如果不指定下标默认为最后⼀个),并返回该数据。

语法:

列表序列.pop(下标)

name_list = ['Tom', 'Jerry', 'Spike']
name = name_list.pop()
print(name)  # Spike
print(name_list)  # ['Tom', 'Jerry']
  • remove():移除列表中某个数据的第⼀个匹配项。

语法:

列表序列.remove(数据)

示例:

name_list = ['Tom', 'Jerry', 'Spike', 'Tom']
name_list.remove('Tom')
print(name_list)  # ['Jerry', 'Spike', 'Tom']
  • clear():清空列表

语法:

列表序列.clear()

示例:

name_list = ['Tom', 'Jerry', 'Spike']
name_list.clear()
print(name_list)  # []

列表的修改

  • 下标:修改指定下标所在位置的数据。下标超出列表长度报错 IndexError: list assignment index out of range

语法:

列表序列[下标] = 新数据

示例:

name_list = ['Tom', 'Jerry', 'Spike']
name_list[0] = 'Butch'
print(name_list)  # ['Butch', 'Jerry', 'Spike']
  • reverse():逆置数据     # 把列表数据反过来

语法:

列表序列.reverse()

示例:

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

语法:

列表序列.sort(key=None, reverse=False)   # reverse表示排序规则,reverse = True 降序, reverse = False 升序(默认)

num_list = [1, 3, 4, 2, 5]
num_list.sort(reverse=True)
print(num_list)  # [5, 4, 3, 2, 1]
  • copy():复制列表,返回一个新的列表。

语法:

列表序列2 = 列表序列1.copy()

示例:

num_list = [1, 3, 4, 2, 5]
num_list2 = num_list.copy()
print(num_list2)  # [1, 3, 4, 2, 5]

列表的遍历

  • while

示例:

name_list = ['Tom', 'Jerry', 'Spike']
i = 0
while i < len(name_list):
    print(name_list[i])
    i += 1

  • for

示例:

name_list = ['Tom', 'Jerry', 'Spike']
for name in name_list:
    print(name)


列表的嵌套

方括号中间包含多个列表。

语法:

[[数据1, 数据2, 数据3], [数据A, 数据B, 数据N], [数据a, 数据b, 数据n]]

示例:

name_lists = [['Tom', 'Jerry', 'Spike'], ['汤姆', '杰瑞', '斯派克'], ['张三', '李四', '王五']]

嵌套列表数据的查询

  • 下标

语法:

列表序列[外层第一层下标][第二层下标][第N层下标]   

示例:

name_lists = [['Tom', 'Jerry', 'Spike'], ['汤姆', '杰瑞', '斯派克'], ['张三', '李四', '王五']]
# 获取列表中下标1的数据
print(name_lists[1])
# 获取列表中下标1数据中的 汤姆
print(name_lists[1][0])

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数字电路运算器分析

文章目录 1. 半加器 2. 加法器 3. 4位加法器 4. 半减器 5. 减法器 6. 4位减法器 1. 半加器 现在我们来考虑如何用电路来实现1位加法。假如有两个1位二进制数A、B&#xff0c;它们的和为1位二进制数S&#xff0c;那么存在下面几种情况&#xff1a; 如果A0&#xff0c;B…

ensp模拟器USG6000V1配置DCHP功能

接着上一篇配置&#xff0c;继续本篇的内容。开启DHCP功能非常简单&#xff0c;只需几个命令即可。实验拓扑图也非常简单&#xff0c;如下&#xff1a; 开启防火墙DHCP功能&#xff1a; [USG6000V1]dhcp enable 选择DHCP接口并设置接口IP地址&#xff0c;这里给g1/0/0配置2网…

【华为免费实战课】基于ENSP实现企业园区网组网项目实战

带你一起走进网工的世界&#xff01; 2024年G-LAB【华为实战公开课】即将开始啦&#xff01;华为实战千万别错过&#xff01; 公开课为期四天&#xff0c;6月18日-6月21日晚20&#xff1a;00开始 关注 工 仲 好&#xff1a;IT运维大本营&#xff0c;私信glab-mary&#xff0…

概率论拾遗

条件期望的性质 1.看成f(Y)即可 条件期望仅限于形式化公式&#xff0c;用于解决多个随机变量存在时的期望问题求解&#xff0c;即 E(?)E(E(?|Y))#直接应用此公式条件住一个随机变量&#xff0c;进行接下来的计算即可 定义随机变量之间的距离为&#xff0c;即均方距离 随机…

Go基础编程 - 09 - 通道(channel)

通道&#xff08;channel&#xff09; 1. 声明2. channel的操作3. 无缓冲通道4. 有缓冲通道5. 如何优雅的从通道循环取值6. 单向通道7. 异常总结 上一篇&#xff1a;结构体 Go语言的并发模式&#xff1a;不要通过共享内存来通信&#xff0c;而应该通过通信来共享内存。 Go语言…

cesium ClippingPolygon多边形裁切

1.多边形裁切 1.1 基本流程 cesium117版本添加了多边形裁切功能&#xff0c;本文分析源码&#xff0c;看看是如何处理的。多边形裁切的大概流程分为4部分: 通过经纬度坐标传入多个闭合的边界&#xff1b;将多个边界打包成两张纹理&#xff0c;一张是每个多边形的坐标&#xf…

Spring框架永远滴神之SpringAI玩转大模型

文章目录 一、SpringAI简介1.什么是SpringAI2.SpringAI支持的大模型类型&#xff08;1&#xff09;聊天模型&#xff08;2&#xff09;文本到图像模型&#xff08;3&#xff09;转录&#xff08;音频到文本&#xff09;模型&#xff08;4&#xff09;嵌入模型&#xff08;5&…

多标签识别:JoyTag模型的图像标注革命【开源】

公共视觉模型通常会对其训练数据集进行严格过滤&#xff0c;这限制了这些基础模型在广泛概念上的表现&#xff0c;进而限制了表达自由、包容性和多样性。JoyTag通过结合Danbooru 2021数据集和一组手动标记的图像&#xff0c;努力提高模型对不同类型图像的泛化能力。 JoyTag项目…

Python批量保存Excel文件中的图表为图片

Excel工作簿作为一款功能强大的数据处理与分析工具&#xff0c;被广泛应用于各种领域&#xff0c;不仅能够方便地组织和计算数据&#xff0c;还支持用户创建丰富多彩的图表&#xff0c;直观展示数据背后的洞察与趋势。然而&#xff0c;在报告编制、网页内容制作或分享数据分析成…

新办理北京广播电视节目制作许可证需要什么条件

在北京想要从事广播电视节目制作&#xff0c;那就需要企业拥有广播电视节目制作经营许可证。此许可证不仅是企业合法经营的基础&#xff0c;同时也是保障节目制作质量和内容合规的标志。如何办理&#xff0c;详情致电咨询我或者来公司面谈。 北京广播电视节目制作经营许可证申请…

开源项目大合集(热门)

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 目录 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌…

【Python】PySide6使用入门和注意事项

文章目录 前言关于PySide和PyQtQt Designerpyside6在vscode中ui文件转换兼容性问题主程序结构蓝牙协议初探&#xff08;应用层&#xff09; 前言 最近在开发一个带界面的软件&#xff0c;需要使用蓝牙&#xff0c;然后找到一个开源仓库使用的是Qt里面的Qbluetooth模块&#xff…

「网络原理」IP 协议

&#x1f387;个人主页&#xff1a;Ice_Sugar_7 &#x1f387;所属专栏&#xff1a;计网 &#x1f387;欢迎点赞收藏加关注哦&#xff01; IP 协议 &#x1f349;报头结构&#x1f349;地址管理&#x1f34c;动态分配 IP 地址&#x1f34c;NAT 机制&#xff08;网络地址映射&am…

AMD平台,5600X+6650XT,虚拟机安装macOS 14(2024年6月)

AMD平台安装macOS 14的麻烦&#xff0c;要比Intel平台多的多&#xff0c;由于macOS从13开始&#xff0c;对CPU寄存器的读取进行了改变&#xff0c;导致AMD平台只要安装完macOS 13及以后版本&#xff0c;开机后就报五国语言错误&#xff0c;不断重启。改vmx文件&#xff0c;被证…

VR虚拟仿真技术模拟还原给水厂内外部结构

在厂区的外围&#xff0c;我们采用VR全景拍摄加3D开发建模的方式&#xff0c;还原了每一处细节&#xff0c;让你仿佛置身于现场&#xff0c;感受那份宁静与庄重。 当你踏入厂区&#xff0c;我们为你精心策划了一条游览路线&#xff0c;从门口到各个重要场景&#xff0c;一一为…

2025年计算机毕业设计题目参考

今年最新计算机毕业设计题目参考 以下可以参考 springboot洗衣店订单管理系统 springboot美发门店管理系统 springboot课程答疑系统 springboot师生共评的作业管理系统 springboot平台的医疗病历交互系统 springboot购物推荐网站的设计与实现 springboot知识管理系统 springbo…

Pytorch深度解析:Transformer嵌入层源码逐行解读

前言 本部分博客需要先阅读博客&#xff1a; 《Transformer实现以及Pytorch源码解读&#xff08;一&#xff09;-数据输入篇》 作为知识储备。 Embedding使用方式 如下面的代码中所示&#xff0c;embedding一般是先实例化nn.Embedding(vocab_size, embedding_dim)。实例化的…

怎么给二维码添加文字或logo?快速美化二维码的使用技巧

怎么给已生成的二维码修改样式呢&#xff1f;目前常规生成的二维码大多是普通黑白色的&#xff0c;没有明显的标识不利于用户辨别。想要提升二维码的辨识度可以通过添加logo、添加文字的方式来改变二维码的样式&#xff0c;让用户看到二维码就知道是否是自己需要的内容&#xf…

智能制造uwb高精度定位系统模块,飞睿智能3厘米定位测距芯片,无人机高速传输

在科技日新月异的今天&#xff0c;定位技术已经渗透到我们生活的方方面面。从手机导航到自动驾驶&#xff0c;再到无人机定位&#xff0c;都离不开精准的定位系统。然而&#xff0c;随着应用场景的不断拓展&#xff0c;传统的定位技术如GPS、WiFi定位等&#xff0c;因其定位精度…

【AI基础】大模型部署工具之ollama的安装部署

ollama是大模型部署方案&#xff0c;对应docker&#xff0c;本质也是基于docker的容器化技术。 从前面的文章可以看到&#xff0c;部署大模型做的准备工作是比较繁琐的&#xff0c;包括各个环节的版本对应。ollama提供了一个很好的解决方案。 ollama主要针对主流的LLaMA架构的…