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.
相关推荐
2501_9095091013 小时前
DAY 28
开发语言·python
大卫陈13 小时前
微信小程序虚拟支付实战:从「支付能力被限制」到沙箱调通的全过程
前端·后端
武子康13 小时前
vLLM 0.25.1:服务没有报错,为什么仍会生成垃圾 Token(5 级正确性门禁 + 自动回滚条件)
前端·人工智能·后端
码云骑士13 小时前
71-Agent记忆系统-短期记忆-长期记忆-向量知识库三层架构
python·架构
卷无止境13 小时前
Python 的 exec 与 eval :动态代码执行的能力、风险与工程实践
后端·python
user-猴子13 小时前
从零构建 2048 游戏,解析“Python-Use”范式的完整闭环
开发语言·python·游戏
jyp2012110713 小时前
Vue3 Diff 算法
前端·vue.js
胡萝卜术13 小时前
抽象的三级跳:从原生 DOM 到 React 组件树,我们到底在解决什么问题?
前端·javascript·面试
黄敬峰13 小时前
从零理解React:事件、组件与响应式——一个WebGPU Demo的前端笔记
前端·面试
郝学胜_神的一滴13 小时前
Python 高级编程 025:二分利器bisect模块:优雅维系有序序列,极致优化检索性能
python·pycharm