当前位置: 首页 > 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。元组没有修改元素的方法,但支持索引访问和计数等操作‌。

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

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

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

相关文章:

  • 【AI战略思考7】粮草筹集完毕和我的朋友分类
  • 科大讯飞AI开发者大赛颁奖典礼,万码优才荣获前三甲!
  • Redis 哨兵机制
  • linux-磁盘io情况、性能排查
  • NC 单据模板自定义项 设置参照,比如部门参照、自定义参照等
  • table-cascade 使用
  • Android SELinux——策略文件配置结构(八)
  • 【数据结构与算法】队列——数据世界中的“有序使者”
  • yolov11 部署 TensorRT,预处理和后处理用 C++ cuda 加速,速度快到飞起
  • 国际期货收费行情源CTP推送式/期货配资软件开发对接行情源的技术性说明
  • 上拉电阻和下拉电阻在电路中的作用(一)
  • 怎么轻松把图片存入二维码?图片生成二维码的简单3步技巧
  • perl双引号内字符串的反斜线转义
  • 【编程语言】Kotlin快速入门 - 伴生对象与懒加载
  • 三、数据聚合和函数
  • Golang | Leetcode Golang题解之第500题键盘行
  • 如何实现金蝶商品数据集成到电商系统的SKU
  • 100种算法【Python版】第4篇——回溯法
  • R语言机器学习算法实战系列(九)决策树分类算法 (Decision Trees Classifier)
  • 听泉鉴宝在三个月前已布局商标注册!
  • vscode设置特定扩展名文件的打开编码格式
  • Linux——动态卷的管理
  • 第三季度中国游戏市场收入创历史新高;京东物流与淘宝天猫达成合作;YouTube 上线“用相机拍摄”标签....|网易数智日报
  • 智慧城管综合管理系统源码,微服务架构,基于springboot、vue+element+uniapp技术开发,支持二次开发
  • 2024Flutter面试题
  • MySQL-23.多表查询-内连接
  • 实用的 Python 小脚本
  • 哪种掏耳朵方式好?正确的掏耳工具!
  • 如何让别人喜欢你的代码
  • 【Flutter】Dart:库