[Python学习篇] Python列表

news2024/12/24 8:54:25

列表(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])

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

浅浅记录一下实现锚点定位

如图&#xff0c;左边是一个快捷导航&#xff0c;右边是主体内容&#xff08;每个卡片对应一个小导航&#xff09; 直接上代码分析 左边的导航侧由静态数据循环生成&#xff08;当前选中有蓝色背景样式&#xff0c;还有不可点击样式&#xff09; <div class"word-tip…

springboot与flowable(5):任务分配(表达式)

在做流程定义时我们需要给相关的用户节点指派对应的处理人。在flowable中提供了三种分配的方式。 一、固定分配 在分配用户时选择固定值选项确认即可。 二、表达式 1、值表达式 2、方法表达式 三、表达式流程图测试 1、导出并部署 导出流程图&#xff0c;复制到项目中 部署流…

集合进阶(泛型、泛型通配符、数据结构(二叉树、平衡二叉树、红黑树

一、泛型类、泛型方法、泛型接口 1、泛型概述 泛型&#xff1a;是JDK5中引入的特性&#xff0c;可以在编译阶段约束操作的数据类型&#xff0c;并进行检查。泛型的格式&#xff1a;<数据类型>注意&#xff1a;泛型只能支持引用数据类型。 泛型的好处 1、统一数据类型。 …

【深度学习】GELU激活函数是什么?

torch.nn.GELU 模块在 PyTorch 中实现了高斯误差线性单元&#xff08;GELU&#xff09;激活函数。GELU 被用于许多深度学习模型中&#xff0c;包括Transformer&#xff0c;因为它相比传统的 ReLU&#xff08;整流线性单元&#xff09;函数能够更好地近似神经元的真实激活行为。…

HardFault Err,无法调试,错误定位

一、简介 在平时开发的时候&#xff0c;经常会遇到程序报错的情况。对于裸机来说&#xff0c;可以通过在线调试的方式进行定位问题。但是对于RTOS系统来时&#xff0c;很多MCU/SOC是不支持在线调试的&#xff0c;此时&#xff0c;如果系统报错&#xff0c;我们就需要根据系统的…

节假日零售数据分析:节假日销售的得力助手

在奥威BI零售数据分析方案预设了一张BI节假日分析报表&#xff08;BI数据可视化报表&#xff09;&#xff0c;它能够帮助零售企业深入理解节假日期间的销售动态&#xff0c;从而做出更精准的市场策略调整。以下是利用该报表进行数据分析的具体步骤和要点&#xff1a; 一、数据…

burp靶场xss漏洞(中级篇)上

靶场地址 http://portswigger.net/web-security/all-labs#cross-site-scripting 第一关&#xff1a;DOM型&#xff08;使用document.write函数&#xff09; 1.点击随机商品后找到搜索框&#xff0c;后在URL中添加storeId查询参数&#xff0c;并输入一个随机字母数字字符串作为…

从入门到精通:一步步打造稳定可靠的API服务

引言 在当今的软件开发周期中&#xff0c;API服务已经成为重要的组成部分&#xff0c;它们允许不同的应用程序和服务之间进行通信和数据交换。打造一个稳定可靠的API服务对于任何商业应用来说都是至关重要的。本文将作为指南&#xff0c;从基础知识到高级技术&#xff0c;一步…

知乎号开始运营了,宣传一波

知乎号开始发布一些小说、散文还有诗歌了&#xff0c;欢迎大家多来关注 知乎链接&#xff1a;姜亚轲 每篇小说都改编成网易云音乐&#xff0c;文章中也有链接&#xff0c;我做的词&#xff0c;Suno编曲和演唱&#xff0c;欢迎大家来听听

访问jlesage/firefox镜像创建的容器中文乱码问题

目录 介绍总结 介绍 最近在使用jlesage/firefox镜像创建容器的时候&#xff0c;发现远程管理家里网络的时候中文会出现乱码&#xff0c;导致整个体验非常的不好&#xff0c;网上查找资料说只要设置环境变量ENABLE_CJK_FONT1 就可以解决问题&#xff0c;抱着试一试的态度还真的成…

如何完美解决 Xshell 使用 SSH 连接 Linux 服务器报错:找不到匹配的 host key 算法

&#x1f6e0;️ 如何完美解决 Xshell 使用 SSH 连接 Linux 服务器报错&#xff1a;找不到匹配的 host key 算法 摘要&#xff1a; 本文将带领大家深入学习如何解决 Xshell 使用 SSH 连接 Linux 服务器时报错“找不到匹配的 host key 算法”的问题。通过详细的操作步骤和代码案…

deepin学习-设置自己窗口为最高层级

deepin-设置自己窗口为最高层级 一、概述1. kwin 中的窗口层级定义2. dde-session-ui 中的消息弹窗3. k-win的调试器 一、概述 窗口协议&#xff1a;wayland 在wayland的窗口下&#xff0c;有时候使用qt开发接口并不能满足我们的要求&#xff0c;就需要看窗管的写法。 setWi…

详解|访问学者申请被拒原因有哪些?

访问学者项目为全球科研人员提供了一个难得的机会&#xff0c;让他们能够跨越国界&#xff0c;深入不同的学术环境&#xff0c;进行学术交流和合作。然而&#xff0c;并非所有申请者都能如愿以偿地获得这一机会。本文将对访问学者申请中常见的被拒原因进行详细解析&#xff0c;…

计算机游戏因为d3dcompiler_47.dll丢失无法启动怎么办?解决只要d3dcompiler_47.dll丢失无法启动游戏软件的方法

d3dcompiler_47.dll 是一个动态链接库文件&#xff0c;属于 Microsoft DirectX 的一部分&#xff0c;主要负责编译和运行 3D 图形程序。它是支持 Direct3D 功能的核心组件&#xff0c;Direct3D 是一种用于编程 3D 图形的 API&#xff0c;广泛应用于游戏和图形密集型应用程序中。…

如何设置天锐绿盾的数据防泄密系统

设置天锐绿盾的数据防泄密系统&#xff0c;可以按照以下步骤进行&#xff1a; 一、系统安装与初始化 在线或离线安装天锐绿盾数据防泄密系统&#xff0c;确保以管理员身份运行安装包&#xff0c;并按照安装向导的提示完成安装。输入序列号进行注册&#xff0c;激活系统。 二…

Vuex遇到浏览器刷新,store里存的数据还在吗?

我们在做Vue前端项目的时候&#xff0c;很可能会使用Vuex来做一些状态或者数据管理&#xff0c;希望在一定程度上&#xff0c;不发送网络请求&#xff0c;不经过密集的组件数据传输&#xff0c;也可以达到数据共享的目的。但如果浏览器页面刷新了&#xff0c;Vuex中store里存的…

摩根大通研究论文:大型语言模型+自动规划器用来作有保障的旅行规划

【摘要】旅行规划是一项复杂的任务,涉及生成一系列与访问地点相关的动作序列,需要满足约束条件并最大化某些用户满意度标准。传统方法依赖于以给定形式语言表示问题,从网络来源中提取相关的旅行信息,并使用适当的问题求解器生成有效解决方案。作为替代方案,最近基于大型语言模型…

Guitar Pro 8软件安装包下载

简介&#xff1a; Guitar Pro吉他软件为帮助所有吉他爱好者学习、绘谱、创作而设计——包含吉他的现有指法及音色&#xff0c; Guitar Pro能了解各类线谱&#xff0c;看谱练吉他&#xff0c;对谱听示范&#xff0c;记录初创声音。 在做弹拨乐器的滑音、倚音、推弦、揉弦、泛…

准备好迎接3D世界的AI革新了吗:Direct3D,让3D创作触手可及

DreamTech 推出原生 3D-DiT 大模型 Direct3D 前言 3D-DiT大模型Direct3D 就目前的AI市场而言&#xff0c;将文本和图像转化为高质量的3D资产一直很难实现&#xff0c;主要目前缺乏一种能够捕捉复杂几何结构而且还能够扩展的3D的方法。但 DreamTech 发布了一种名为Direct3D的新型…

麻了,5年Java竟然不知道幂等......

在分布式系统中&#xff0c;接口幂等性是确保操作一致性的关键特性。 啥是幂等性 幂等性 指的是在给定的条件下&#xff0c;无论操作执行多少次&#xff0c;其结果都保持不变。在接口设计中&#xff0c;幂等性意味着使用相同的参数多次调用接口&#xff0c;应产生与单次调用相…