亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> Python

Python 元组详解:定义、使用与列表的核心区别

元组概述

元组是有序且不可变的对象集合。元组是序列,类似列表。区别:元组不可修改,用圆括号;列表可修改,用方括号。

创建元组只需放入不同逗号分隔值,可选用圆括号括起。例如:

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

空元组写为两个空圆括号:

tup1 = ()

单元素元组必须包含逗号,即使只有一个值:

tup1 = (50,)

类似字符串索引,元组索引从 0 开始,支持切片、连接等操作。

访问元组值

使用方括号切片及索引获取指定索引处的值。例如:

在线演示
#!/usr/bin/python
tup1 = ('physics', 'chemistry', 1997, 2000)
tup2 = (1, 2, 3, 4, 5, 6, 7)
print "tup1[0]: ", tup1[0]
print "tup2[1:5]: ", tup2[1:5]

执行结果:

tup1[0]: physics
tup2[1:5]: [2, 3, 4, 5]

更新元组

元组不可变,无法更新或改变元素值。但可截取现有元组部分创建新元组:

在线演示
#!/usr/bin/python
tup1 = (12, 34.56)
tup2 = ('abc', 'xyz')
# 以下操作对元组无效
# tup1[0] = 100
# 创建新元组
tup3 = tup1 + tup2
print tup3

执行结果:

(12, 34.56, 'abc', 'xyz')

删除元组元素

无法移除单个元组元素。但可组合新元组丢弃不需元素。

显式删除整个元组用 del 语句。例如:

在线演示
#!/usr/bin/python
tup = ('physics', 'chemistry', 1997, 2000)
print tup
del tup
print "After deleting tup : "
print tup

结果如下。注意抛出异常,因 del tup 后元组不再存在:

('physics', 'chemistry', 1997, 2000)
After deleting tup :
Traceback (most recent call last):
File "test.py", line 9, in 
print tup
NameError: name 'tup' is not defined

基本元组操作

元组对 + 和 * 运算符响应类似字符串,表示连接和重复,结果为新元组而非字符串。

元组响应字符串章节的所有通用序列操作:

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!']切片获取区段

无封闭定界符

任何多对象逗号分隔集合,无识别符号(列表用方括号、元组用圆括号等),默认为元组:

在线演示
#!/usr/bin/python
print 'abc', -4.24e93, 18+6.6j, 'xyz'
x, y = 1, 2
print "Value of x , y : ", x, y

执行结果:

abc -4.24e+93 (18+6.6j) xyz
Value of x , y : 1 2

内置元组函数

序号函数与说明
1cmp(tuple1, tuple2) - 比较两元组元素
2len(tuple) - 返回元组总长度
3max(tuple) - 返回元组中最大值项
4min(tuple) - 返回元组中最小值项
5tuple(seq) - 将列表转为元组

Python

  1. 精通Python数据类型:实战指南
  2. 精通Python运算符:全面指南
  3. 精通Python Pass语句:实战指南
  4. 精通Python函数参数:位置、关键字与默认参数
  5. 精通 Python 字典:创建、操作与进阶技巧
  6. 精通 Python 迭代器:工作原理与自定义构建
  7. Python 闭包详解:嵌套函数如何捕获变量
  8. 精通 Python datetime:日期、时间与时区实战指南
  9. 精通 Python time.sleep():最佳实践、多线程与实战案例
  10. Python 元组完全指南:打包、解包、比较、切片与字典键应用
  11. 精通 Python enumerate():为列表、元组、字符串、字典带索引循环
  12. Python 语言概览:高级、可读、交互式与面向对象