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.
相关推荐
阿懂在掘金13 小时前
早点下班(Vue2.7版):旧项目也能少写 40%+ 异步代码
前端·vue.js·开源
Mintopia13 小时前
Web性能测试流程全解析:从概念到落地的完整指南
前端·性能优化·测试
Qinana13 小时前
第一次用向量数据库!手搓《天龙八部》RAG助手,让AI真正“懂”你
前端·数据库·后端
忆江南13 小时前
# Flutter Engine、Dart VM、Runner、iOS 进程与线程 —— 深度解析
前端
龙国浪子14 小时前
从「选中一段」到「整章润色」:编辑器里的 AI 润色是怎么做出来的
前端·人工智能
Flittly14 小时前
【从零手写 ClaudeCode:learn-claude-code 项目实战笔记】(6)Context Compact (上下文压缩)
python·agent
小码哥_常14 小时前
Android 开发秘籍:用Tint为Icon动态变色
前端
小码哥_常14 小时前
从0到1手把手封装Android基类Activity/Fragment,告别重复代码,开发效率直接拉满!
前端
ChoriaKiinweill14 小时前
不会有人现在还不了解BOM的知识吧? 关于它的一切都在这里!!!
前端
ChoriaKiinweill14 小时前
我们最爱操纵的DOM是个什么玩意? 关于DOM的知识快速一览!
前端