Python元组的定义及使用

作者:一碗周 时间:2021-06-30 01:24:40 

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

标签:Python,元组,定义,使用
0
投稿

猜你喜欢

  • python GUI库图形界面开发之PyQt5多行文本框控件QTextEdit详细使用方法实例

    2023-10-09 05:33:38
  • Python如何转换字符串大小写

    2021-03-16 17:40:20
  • php的对象传值与引用传值代码实例讲解

    2023-11-06 08:42:37
  • 总结Python编程中三条常用的技巧

    2022-06-04 05:52:04
  • 什么是XML

    2008-09-05 17:21:00
  • Python搭建APNS苹果推送通知推送服务的相关模块使用指南

    2021-09-27 22:12:59
  • Python3.6使用tesseract-ocr的正确方法

    2023-10-24 20:46:28
  • 完美解决go Fscanf 在读取文件时出现的问题

    2024-02-15 11:29:50
  • Flash在web客户端的潜在问题

    2009-05-20 12:11:00
  • JavaScript控制输入框中只能输入中文、数字和英文的方法【基于正则实现】

    2024-04-16 08:50:16
  • Fuse.js模糊查询算法学习指南

    2024-04-19 11:02:54
  • pygame游戏之旅 添加icon和bgm音效的方法

    2022-02-10 19:25:31
  • php用header函数实现301跳转代码实例

    2023-10-08 11:29:59
  • python和pygame实现简单俄罗斯方块游戏

    2022-10-04 20:00:49
  • 安装Pycharm2019以及配置anconda教程的方法步骤

    2021-10-04 18:43:08
  • Python 爬虫的原理

    2023-01-18 21:05:35
  • MySQL索引知识的一些小妙招总结

    2024-01-13 18:16:39
  • 全网最新用python实现各种文件类型转换的方法

    2021-02-21 08:57:42
  • 一行代码实现Python动态加载依赖

    2021-11-22 19:10:39
  • Python cv.Canny()方法参数与使用方法

    2023-10-06 07:24:37
  • asp之家 网络编程 m.aspxhome.com