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

Python中的元组和列表

‌Python 列表

Python有6个序列的内置类型,但最常见的是列表和元组。

列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。

列表的数据项不需要具有相同的类型

创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:

list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5]
list3 = ["a", "b", "c", "d"]

与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。

访问列表中的值

使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符,如下所示:

#!/usr/bin/python
list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5, 6, 7]
print"list1[0]: ", list1[0]
print"list2[1:5]: ", list2[1:5]

Python列表脚本操作符

列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。

如下所示:

Python 表达式

结果

描述

len([1, 2, 3])

3

长度

[1, 2, 3] + [4, 5, 6]

[1, 2, 3, 4, 5, 6]

组合

['Hi!'] * 4

['Hi!', 'Hi!', 'Hi!', 'Hi!']

重复

3 in [1, 2, 3]

True

元素是否存在于列表中

for x in [1, 2, 3]: print x,

1 2 3

迭代

Python列表截取

描述:

Python 表达式

结果

描述

L[2]

'Taobao'

读取列表中第三个元素

L[-2]

'Runoob'

读取列表中倒数第二个元素

L[1:]

['Runoob', 'Taobao']

从第二个元素开始截取列表

Python列表函数&方法

Python包含以下函数:

序号

函数

1

cmp(list1, list2)
比较两个列表的元素

2

len(list)
列表元素个数

3

max(list)
返回列表元素最大值

4

min(list)
返回列表元素最小值

5

list(seq)
将元组转换为列表

Python包含以下方法:

序号

方法

1

list.append(obj)
在列表末尾添加新的对象

2

list.count(obj)
统计某个元素在列表中出现的次数

3

list.extend(seq)
在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)

4

list.index(obj)
从列表中找出某个值第一个匹配项的索引位置

5

list.insert(index, obj)
将对象插入列表

6

list.pop([index=-1])
移除列表中的一个元素(默认最后一个元素),并且返回该元素的值

7

list.remove(obj)
移除列表中某个值的第一个匹配项

8

list.reverse()
反向列表中元素

9

list.sort(cmp=None, key=None, reverse=False)
对原列表进行排序

Python 元组

Python 的元组与列表类似,不同之处在于元组的元素不能修改。

元组使用小括号,列表使用方括号。

元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

tup1 = ('physics', 'chemistry', 1997, 2000)
tup2 = (1, 2, 3, 4, 5)
tup3 = "a", "b", "c", "d"

元组运算符

与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。

Python 表达式

结果

描述

len((1, 2, 3))

3

计算元素个数

(1, 2, 3) + (4, 5, 6)

(1, 2, 3, 4, 5, 6)

连接

('Hi!',) * 4

('Hi!', 'Hi!', 'Hi!', 'Hi!')

复制

3 in (1, 2, 3)

True

元素是否存在

for x in (1, 2, 3): print x,

1 2 3

迭代

元组索引,截取

因为元组也是一个序列,所以我们可以访问元组中的指定位置的元素,也可以截取索引中的一段元素,如下所示:

元组:

L = ('spam', 'Spam', 'SPAM!')

Python 表达式

结果

描述

L[2]

'SPAM!'

读取第三个元素

L[-2]

'Spam'

反向读取,读取倒数第二个元素

L[1:]

('Spam', 'SPAM!')

截取元素

元组内置函数

Python元组包含了以下内置函数

序号

方法及描述

1

cmp(tuple1, tuple2)
比较两个元组元素。

2

len(tuple)
计算元组元素个数。

3

max(tuple)
返回元组中元素最大值。

4

min(tuple)
返回元组中元素最小值。

5

tuple(seq)
将列表转换为元组。

区别

       主要区别在于可变性和用途。‌ 元组是不可变的,一旦创建就不能修改其中的元素,而列表是可变的,可以添加、删除或更改其中的元素。元组通常用于存储不应改变的数据,如函数返回多个值时使用元组,而列表则用于需要动态改变数据的场合,如存储一组数据或作为堆栈和队列等数据结构‌。

     元组和列表在语法和使用上也有显著区别。列表使用方括号[]来定义,元素之间用逗号分隔。列表是可变的,支持多种操作,如append()、extend()、insert()、remove()、pop()等。元组使用圆括号()来定义,元素之间同样用逗号分隔,但尝试修改元组的任何元素都会引发TypeError。元组没有修改元素的方法,但支持索引访问和计数等操作‌。

       在性能方面,由于元组的不可变性,它们通常比列表有更快的访问速度,尤其在创建和访问元素时,尤其在大型数据集上表现更优。列表由于其可变性,需要支持动态扩展,因此其内存占用比元组稍高‌。

      根据不同的使用场景选择元组或列表:

  • 列表‌:常用于需要频繁修改数据的场合,如存储一组数据、作为堆栈和队列等数据结构。
  • 元组‌:常用于存储不应改变的数据,如函数返回多个值、作为字典的键(因为字典的键必须是不可变的),或在多线程环境中共享数据‌

相关文章:

Python中的元组和列表

‌Python 列表 Python有6个序列的内置类型,但最常见的是列表和元组。 列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。 列表的数据项不需要具有相同的类型 创建一个列表,只要把逗号分隔的不同的数据项使用方括号…...

【AI战略思考7】粮草筹集完毕和我的朋友分类

注明:这是我昨晚12点多发布在朋友圈的,更新加工后的版本 粮草筹集完毕 统计完成 昨晚从7点半到晚上11点,借款的意向统计完成了,刚好凑够6个月😄,我觉得应该够了,我乐观估计是3个月内找到工作&…...

科大讯飞AI开发者大赛颁奖典礼,万码优才荣获前三甲!

在近日揭晓的科大讯飞AI开发者大赛中,万码优才APP凭借其卓越的技术实力、创新的应用方案以及深厚的行业洞察力,在上百个参赛队伍中脱颖而出,在AI Agent助力行业应用升级赛道荣获三甲排名!再次证明了其在人工智能领域的领先地位与无…...

Redis 哨兵机制

哨兵机制 哨兵机制的介绍 哨兵 (Sentinel) 先来看一下Redis Sentinel 相关名词解释: 在之前的主从复制中,存在一个问题,那就是当主节点挂了后,通过人工干预的方式来解决是比较繁琐且不那么靠谱的。 在实际开发中,对…...

linux-磁盘io情况、性能排查

命令安装 iostat属于sysstat软件包。可以直接安装。 yum install sysstat操作命令解析 iostat %user:CPU处在用户模式下的时间百分比。%nice:CPU处在带NICE值的用户模式下的时间百分比。%system:CPU处在系统模式下的时间百分比。%iowait&a…...

NC 单据模板自定义项 设置参照,比如部门参照、自定义参照等

NC 单据模板自定义项 设置参照(自定义参照) 一、如图下图,NC 单据模板自定义项 设置自定义参照: 1、选择需要设置参照的自定义字段,选择高级属性页签,在类型设置中,数据类型选择参照信息&#…...

table-cascade 使用

stable-cascade 使用教程 English 中文 1.安装最新版本的 Comyfui 2.将 https://huggingface.co/stabilityai/stable-cascade/tree/main 下面的 stage_b 和 stage_c 模型放到 ComfyUI/models/unet 下面 3.将 https://huggingface.co/stabilityai/stable-cascade/tree/main …...

Android SELinux——策略文件配置结构(八)

在 Android 系统中,SELinux 主要是通过一系列配置文件来进行管理和配置的。这些配置文件涵盖了策略定义、标签映射、签名信息等多个方面。 一、SeLinux文件体系 之前提到 Android 架构中大致包含 AOSP、厂商、Vendor 等部分。在 Android 8 以上的系统中,AOSP 和厂商、供应商…...

【数据结构与算法】队列——数据世界中的“有序使者”

大家好,我是小卡皮巴拉 文章目录 目录 引言 一.队列的基本概念 1.1 队列的定义 1.2 队列的特性 1.3 队列的基本操作 二.队列的实现方式 2.1 基于链表的队列 2.2 基于数组的队列 三.基于链表的队列实现 定义链表队列的结构 初始化 入队列——向队列中插…...

yolov11 部署 TensorRT,预处理和后处理用 C++ cuda 加速,速度快到飞起

之前搞过不少部署,也玩过tensorRT部署模型(但都是模型推理用gpu,后处理还是用cpu进行),有网友问能出一篇tensorRT用gpu对模型后处理进行加速的。由于之前用的都是非cuda支持的边缘芯片,没有写过cuda代码&am…...

国际期货收费行情源CTP推送式/期货配资软件开发对接行情源的技术性说明

在现代金融市场中,期货交易因其高风险和高回报特性而备受关注。为了满足期货交易者的需求,开发高效、稳定和安全的期货交易软件变得尤为重要。本文将对国际期货收费行情源CTP推送式及期货配资软件的开发对接行情源的技术细节进行详细说明。 一、CTP&…...

上拉电阻和下拉电阻在电路中的作用(一)

上拉电阻和下拉电阻在电路中的作用(一) 1.什么是上下拉电阻2.上下拉电阻的作用:2.1.维持输入引脚处于稳定状态。2.2.配合三极管和MOS进行电平转换电路设计2.3.OC、OD电路(Open Collector集电极开路、Open Drain漏电极开路&#xf…...

怎么轻松把图片存入二维码?图片生成二维码的简单3步技巧

进入数字化时代,图片是目前应用广泛的一种信息传递方式,可以通过看图来获取需要的内容,那么图片如何更快捷的在更多人之间传递呢?通过将图片生成二维码后分享,可以实现图片的快速传递,制作成本也比较低&…...

perl双引号内字符串的反斜线转义

perl双引号内字符串的反斜线转义 如题,下面表格列举了perl双引号内字符串的反斜线转义: 组合意义\n换行\r回车\t水平制表符\f换页符\b退格\a系统响铃\eEsc(ASCII编码的转义字符)\007八进制表示的ASCII值(此例中007表…...

【编程语言】Kotlin快速入门 - 伴生对象与懒加载

静态与顶层方法 静态方法(伴生对象) Java中有静态方法的概念,但是在Kotlin中这个静态方法被弱化了,还记得我们使用object创建一个单例类吗,创建的单例类我们当时可以使用像静态方法一样的调用方式取调用,…...

三、数据聚合和函数

在数据聚合和函数方面,数据库提供了许多功能强大的函数,可以帮助你处理和分析数据。以下是一些常用的函数及其功能的详细说明: COUNT函数: COUNT函数用于计算指定列中的行数。它可以用于统计表中满足特定条件的行数,也…...

Golang | Leetcode Golang题解之第500题键盘行

题目: 题解: func findWords(words []string) (ans []string) {const rowIdx "12210111011122000010020202" next:for _, word : range words {idx : rowIdx[unicode.ToLower(rune(word[0]))-a]for _, ch : range word[1:] {if rowIdx[unico…...

如何实现金蝶商品数据集成到电商系统的SKU

如何实现金蝶商品数据集成到电商SKU系统 金蝶商品数据集成到电商SKU的技术实现 在现代企业的数据管理中,系统间的数据对接与集成是提升业务效率和准确性的关键环节。本文将分享一个实际案例:如何通过轻易云数据集成平台,将金蝶云星辰V2中的商…...

100种算法【Python版】第4篇——回溯法

念念不忘,必有回响 1 回溯法原理2 示例说明2.1 生成子集2.1.1 回溯法思路2.1.2 Python3代码2.2 N皇后问题2.2.1 回溯法思路2.2.2 Python3代码3 回溯法应用3.1 组合3.1.1 回溯法思路3.1.2 Python3代码3.2 数独 Solver3.2.1 回溯法思路3.2.2 Python3代码3.3 多重背包问题3.3.1 P…...

R语言机器学习算法实战系列(九)决策树分类算法 (Decision Trees Classifier)

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍教程下载数据加载R包导入数据数据预处理数据描述数据切割调节参数构建模型模型的决策树预测测试数据评估模型模型准确性混淆矩阵模型评估指标ROC CurvePRC Curve特征的重要性保存模…...

《蔚蓝档案》鼠标指针主题:从设计到安装的完整桌面美化指南

1. 项目概述:为你的桌面注入《蔚蓝档案》的学园气息如果你和我一样,既是《蔚蓝档案》的玩家,又是个喜欢折腾桌面美化的爱好者,那么今天分享的这个项目绝对会让你眼前一亮。它不是什么复杂的软件,而是一套精心制作的Win…...

PortAudio性能测试与调优:如何实现最低延迟音频处理的完整指南

PortAudio性能测试与调优:如何实现最低延迟音频处理的完整指南 【免费下载链接】portaudio PortAudio is a cross-platform, open-source C language library for real-time audio input and output. 项目地址: https://gitcode.com/gh_mirrors/po/portaudio …...

3分钟快速上手:如何用res-downloader高效下载视频号资源

3分钟快速上手:如何用res-downloader高效下载视频号资源 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader 在当今数…...

FinFET与FD-SOI工艺下的IC可靠性验证关键技术

1. 集成电路可靠性验证的挑战与演进在28nm工艺节点之前,芯片设计工程师面临的选择相对简单——只需沿着摩尔定律的轨迹向下一个工艺节点迁移。但随着FinFET和FD-SOI等新型晶体管结构的出现,以及台积电、三星等代工厂推出的多样化工艺节点选项&#xff0c…...

AI应用开发平台RiserFlow实战:从架构解析到智能客服构建

1. 项目概述:从“RiserFlow”看现代AI应用开发范式的演进最近在GitHub上看到一个挺有意思的项目,叫riserlabs/riserflow。光看这个名字,可能有点摸不着头脑,但如果你点进去,会发现它其实指向一个更具体的产品&#xff…...

数字永生:将意识上传云端的技术与伦理极限

——一个软件测试从业者的技术解构与风险分析各位同行,当你看到“数字永生”这四个字时,脑海里浮现的是什么?是马斯克口中2045年即将实现的意识上传,还是《黑镜》里那些被困在虚拟牢笼中的数字灵魂?作为一个每天与需求…...

AI科技热点日报 | 2026年5月12日

文章目录AI科技热点日报 | 2026年5月12日一、 行业标准与规范:AI终端迈入“标准化”时代二、 智能体(Agent)与具身智能:从云端走向实战三、 算力与基础设施:产业链的深度重构四、 产业融合与应用探索:AI fo…...

感统训练的真实效果能持续多久?会不会反弹?

​直接给出结论:常见的感统训练维持周期短、反弹率高,多数孩子训练效果仅能保持3-6个月。一旦停止课程,大部分孩子会逐步退回原有状态。感统只能调整身体感官反应,无法从根源提升大脑自控力,治标不治本。感统训练适用人…...

终极指南:Visual C++运行库一键修复完整教程

终极指南:Visual C运行库一键修复完整教程 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过打开软件时突然弹出"无法启动此程序…...

抖音下载器终极指南:从零开始掌握无水印批量下载技巧

抖音下载器终极指南:从零开始掌握无水印批量下载技巧 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback suppor…...