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.
相关推荐
lu-fe140 分钟前
CSRF简单介绍
前端·csrf
nicepainkiller42 分钟前
flutter 手写时钟
前端·flutter
limengshi13839243 分钟前
使用Python+docx+jieba+wordcloud给word文档生成词云图
python·word
努力的kid1 小时前
tomcat实验
服务器·前端·tomcat
CCTV果冻爽1 小时前
LuaJit分析(十一)去除string.dump函数
java·开发语言
优雅永不过时·1 小时前
three.js 编辑器,动画,着色器, cesium 热力图,聚合点位,大量点线面, 图层,主题,文字
前端·javascript·人工智能·3d·智慧城市·着色器
计算机学姐1 小时前
基于SpringBoot的财务管理系统
java·spring boot·后端·spring·eclipse·maven·mybatis
doublexiao791 小时前
DENCLUE算法原理及Python实践
python·算法·机器学习
才艺のblog2 小时前
本地settings配置(下载jar包不走中央服务器,走本地)
java·maven·jar
jwensh2 小时前
【Linux】如何快速查看 linux 服务器有几个cpu
java·linux·服务器