Python - tuple

声明tuple

python 复制代码
>>> a = (3)
>>> type(a)
<class 'int'>
>>> b = 3
>>> type(b)
<class 'int'>
>>> c = (3,)
>>> type(c)
<class 'tuple'>

元组中只有一个元素时,应该在元素后面追加一个半角的英文逗号,避免Python误解。

元组特点

  • 元素比列表操作速度快。如果定义了一个值的常量集,并且需要遍历,可适用元素替代列表。
  • 如果对不需要修改的数据进行"写保护",可以使代码更安全,此时使用元组而不是列表。如果必须改变这些值,则需要将元组转为列表后再转换。
  • 元素可以在字典中被用作key,但是列表不行。字典的key不可变,元组本身也是不可变的。
  • 元组可以用在字符串格式化中。

字典的键

复制代码
>>> d1 = {(1,2):1}
>>> d2 = {[1,2]:1}
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'

字典的key,可以为元组,但不能是list。

unhashable 指 可变的。

元素格式化字符串

python 复制代码
>>> name_age = ("Jack", 18)
>>> print("My name is {}, and I'm {} years old.".format(*name_age))  # 使用*解包元组
My name is Jack, and I'm 18 years old.

>>> name, age = ("Jack", 18)
>>> print("My name is {}, and I'm {} years old.".format(name,age))  # 使用位置参数 
My name is Jack, and I'm 18 years old.

# % 主要用于单个变量或值的格式化,通过元组提供多个值。需要注意参数的顺序和数量必须与格式字符串中的占位符匹配。
>>> print("My name is %s, and I'm %d years old." %(name, age))
My name is Jack, and I'm 18 years old.
相关推荐
高洁019 分钟前
具身智能感知系统底层原理
人工智能·python·深度学习·机器学习·transformer
const_qiu18 分钟前
第四章 05:4.5 Multi-Agent —— 五个专职智能体协作
java·人工智能
我就是不信22 分钟前
Java8 lambda 表达式 forEach 如何提前终止?
开发语言·windows·python
A小码哥25 分钟前
大模型成本怎么降,5 个动作先做前两个
java·前端·spring
鬼手点金29 分钟前
构建有效 Agent 的核心原则
java·人工智能·git·学习·自动化
全栈弄潮儿29 分钟前
Python实战第9期:文件操作
后端·python·编程语言
小星星_ios34 分钟前
从 3Blue1Brown 到 NumPy:手写一个神经网络训练 MNIST
人工智能·python·神经网络
神魔皆以血嗜34 分钟前
Java 实现简单状态机(订单状态流转)
java·后端
PHP是世界上最好的语言37 分钟前
ComPDF预览本地正常,部署后白屏:检查资源、路径和许可
前端
Maxwin38 分钟前
Manim 竖屏画布选 9×16 还是 4.5×8?从 font_size 和每单位像素数说起
python·ffmpeg