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.
相关推荐
生命因何探索2 分钟前
SpringBoot启动流程—面试热点
java·spring boot·面试
xuankuxiaoyao2 分钟前
VUE.JS 实践 第一章
前端·javascript·vue.js
xiaoye37084 分钟前
如何在Spring中使用注解解决线程并发问题?
java·后端·spring
future02105 分钟前
Spring IOC启动全流程解密
java·后端·spring·ioc
codeJinger5 分钟前
【Python】集合
开发语言·python
威联通安全存储6 分钟前
严谨性的数字基石:某精密医疗器械企业基于威联通的数据治理实践
运维·数据库·python
太阳神LoveU6 分钟前
Spring Boot 4.0.3和3.X的各个版本主要功能差别和优劣势对比
java·spring boot·后端
俩娃妈教编程7 分钟前
C++基础知识点:位运算
java·开发语言·jvm·c++·位运算
梦想的旅途210 分钟前
企业微信消息回调开发指南:如何实时接收并处理企微消息?
前端·机器人·自动化·企业微信
计算机徐师兄11 分钟前
Python基于Django的汉语文本阅读难度分级系统(附源码,文档说明)
python·机器学习·django·汉语文本阅读难度分级系统·python文本阅读难度分级·文本阅读难度分级系统·汉语文本阅读难度分级