Python元组的定义及使用
作者:一碗周 发布时间:2021-06-30 01:24:40
标签:Python,元组,定义,使用
1、前言
在Python
中元组是一个和列表非常类似的数据类型,不同之处就是列表中的元素可以修改,而元组之中的元素不可以修改。
2、定义和使用元组
2.1 定义
定义元素通常使用小括号()字面量语法,示例代码如下:
tuple1 = ("Hello", "一碗周", "你好")
print(type(tuple1)) # 查看元组类型 <class 'tuple'>
print(tuple1) # ('Hello', '一碗周', '你好')
2.2 使用
元组支持的运算符和使用方法和列表是一样的,示例代码如下:
tuple1 = ("Hello", "一碗周", "掘金", "开发者", "strive")
tuple2 = (10, 20, 60, 34)
# 拼接
tuple3 = tuple1 + tuple2
print(tuple3) # ('Hello', '一碗周', '掘金', '开发者', 'strive', 10, 20, 60, 34)
print(tuple2 * 2) # (10, 20, 60, 34, 10, 20, 60, 34)
# 索引和切片
print(tuple1[1], tuple1[-4]) # 一碗周 一碗周
print(tuple3[:2]) # ('Hello', '一碗周')
print(tuple3[::2]) # ('Hello', '掘金', 'strive', 20, 34)
# 遍历操作
for ch in tuple1:
print(ch)
'''
Hello
一碗周
掘金
开发者
strive
'''
# 成员运算
print("一碗周" in tuple1) # True
print("掘金" not in tuple1) # False
一个空()
表示空元组,一个元组中有两个元素,称之为二元组,有五个就成称为五元组,但是如果里面为('hello')
则不是元组,这个括号就变成了改变优先级的圆括号了;如要想要使其变成圆括号,就要加上一个逗号,,否则就不是代表一元组了。
示例代码如下:
a = ()
print(type(a)) # <class 'tuple'>
b = ('一碗周')
print(type(b)) # <class 'str'>
c = (100)
print(type(c)) # <class 'int'>
d = ('一碗周', )
print(type(d)) # <class 'tuple'>
e = (100, )
print(type(e)) # <class 'tuple'>
3、元组的应用场景
3.1 打包和解包
把多个用逗号分隔的值赋给一个变量时,多个值会打包成一个元组类型;把一个元组赋值给多个变量时,元组会解包成多个值然后分别赋给对应的变量,
示例代码如下:
t = "Hello", "一碗周", "掘金", "开发者", "strive"
print(type(t)) # <class 'tuple'>
print(t) # ('Hello', '一碗周', '掘金', '开发者', 'strive')
x, y, z, i, j = t
print(x, y, z, i, j) # Hello 一碗周 掘金 开发者 strive
如果在解包时,元素的个数和变量的个数不一致,就引起错误,就比如下面这段代码
t= ("Hello", "一碗周", "掘金", "开发者", "strive")
# x, y, z = t # ValueError: too many values to unpack
x, y, z, i, j, k, l = t # ValueError: not enough values to unpack
ValueError: too many values to unpack解包的值不足
ValueError: not enough values to unpack解包的值太多
解决变量少于元组个数这个错误的方法是使用*通配符,有了这个通配符一个变量就可以接收多个值,就将某个变个变成了一个列表,这个通配符只能出现一次,
示例代码如下:
t = ("Hello", "一碗周", "掘金", "开发者", "strive")
x, y, *z = t
print(x, y, z) # Hello 一碗周 ['掘金', '开发者', 'strive']
x, *y, z = t
print(x, y, z) # Hello ['一碗周', '掘金', '开发者'] strive
*x, y, z = t
print(x, y, z) # ['Hello', '一碗周', '掘金'] 开发者 strive
3.2 交换两个变量的值
在Python
中,交换两个变量a和b的值只需要使用如下所示的代码
a, b = b, a
同理,如果要将三个变量a、b、c的值互换,即b赋给a,c赋给b,a赋给c,也可以如法炮制。
a, b, c = b, c, a
3.3 让函数返回多个值
如果return
语句中有两个值,这两个值会组装成一个二元组然后返回。所以调用定义的函数会得到这个二元组,也可以通过解包语法将二元组中的两个值分别赋给两个变量。
来源:https://juejin.cn/post/7022990623774867492
0
投稿
猜你喜欢
- 本文实例讲述了Python中列表与元组的乘法操作。分享给大家供大家参考,具体如下:直接上code吧,还可以这么玩儿列表乘法:li=[1,]l
- 浅谈NumPy中的维度AxisNumPy中的维度是一个很重要的概念,很多函数的参数都需要给定维度Axis,如何直观的理解维度呢?我们首先以二
- 一、 yaml1、 准备支持的数据类型:字典、列表、字符串、布尔值、整数、浮点数、Null、时间等基本语法规则:大小写敏感使用缩进表示层级关
- 导入相关包import timeimport pydashimport base64import requestsfrom lxml imp
- PHP版: $o = array('x'=>1, 'y'=>2, 'z'=>
- 调用tf.reset_default_graph()重置计算图当在搭建网络查看计算图时,如果重复运行程序会导致重定义报错。为了可以在同一个线
- 在这篇asp之数学函数里,我们将会以表格的形式,让大家了解到关于ASP中能用到的数学函数,里面包括一个数的绝对值、一个数的平方根
- 快捷键可以帮助我们有效提高效率,我们来看看网页设计软件FrontPage有哪些快捷键。相关文章:Dreamweaver快捷键大全、photo
- 生产定制一个彩条标签。首先导入:import matplotlib.pyplot as pltimport numpy as npfrom
- session请求过程当第一次访问网站时,Seesion_start()函数就会创建一个唯一的Session ID,并自动通过HTTP的响应
- 本文研究的主要是Django权限机制的相关内容,具体如下。1. Django权限机制概述权限机制能够约束用户行为,控制页面的显示内容,也能使
- 1.URLError首先解释下URLError可能产生的原因: 网络无连接,即本机无法上网 &
- 首先要作出决策,你是否想要使用最新的开发版本或最终的稳定版本。在MySQL开发过程中,同时存在多个发布系列,每个发布处在成熟度的不同阶段:&
- 这段时间常给来面试的同学用《 你是一个职业的页面重构工作者吗? 》中三个部分的不同阶段去做自测,发现很多人都自我感觉良好,给我的回答基本都是
- 本文实例为大家分享了python xlsxwriter创建excel图表的具体代码,供大家参考,具体内容如#coding=utf-8 imp
- 学习前言我发现不仅有很多的Keras模型,还有很多的PyTorch模型,还是学学Pytorch吧,我也想了解以下tensor到底是个啥。Py
- 网站可用性是任何网站的基本要素,而可用的导航更是网站所必需的要素之一。导航决定了用户如何与网站进行交互。如果没有了可用的导航,那么网站内容就
- 通过使用turtle绘画象棋棋盘,供大家参考,具体内容如下# 绘制象棋棋盘import turtlet = turtle.Pen()t.wi
- 读取docx文档使用的包是python-docx1. 安装python-docx包sudo pip install python-docx2
- 问一下谁知道如何用 javascript 获取硬盘信息1.获得硬盘当前有几个盘符.2.每个盘符的 大小,已经使用的大小,和没有使用的大小原理