Python元组的定义及使用

目录
  • 1、前言
  • 2、定义和使用元组
    • 2.1 定义
    • 2.2 使用
  • 3、元组的应用场景
    • 3.1 打包和解包
    • 3.2 交换两个变量的值
    • 3.3 让函数返回多个值

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语句中有两个值,这两个值会组装成一个二元组然后返回。所以调用定义的函数会得到这个二元组,也可以通过解包语法将二元组中的两个值分别赋给两个变量。

到此这篇关于Python元组的定义及使用的文章就介绍到这了,更多相关Python元组定义及使用内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python的 元组(Tuple)详解

    目录 Python3的 元组(Tuple) 元组运算符 元组索引,截取 元组内置函数 总结 Python3的 元组(Tuple) Python 的元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号 ( ),列表使用方括号 [ ]. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. 元组中只包含一个元素时,需要在元素后面添加逗号 , ,否则括号会被当作运算符使用: 元组与字符串类似,下标索引从 0 开始,可以进行截取,组合等. 可以对元组进行连接组合,但是不能修改,删除.

  • Python数据结构之列表与元组详解

    目录 Python 列表(list): 1.序列介绍: 2.列表的概述: 3.创建一个列表 4.列表的索引 5.列表的分片 6.列表的分片赋值 7.循环遍历列表 8.查找元素与计数 9.列表增加元素: 10.列表删除元素: 11.列表排序 Python 元组(tuple): 1.为什么要将元组设计成为不可变序列 2.创建元组 3.元组的遍历 4.元组的内置函数 Python 列表(list): 1.序列介绍:   序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置

  • python基础之元组

    元组: # 元组,一种不可变的序列,在创建之后不能做任何的修改 # 1.不可变 # 2.用()创建元组类型,数据项用逗号来分割 # 3.可以是任何的类型 # 4.党员组中只有一个元素时,要加上逗号,不然解释器会当作整型来处理 # 5.同样可以支持切片操作 #元组的创建 不能进行修改 tupleA=() ##空元组 tupleA=('abcd',89,9,12,'sisi',[11,22,33]) print(type(tupleA)) print(tupleA) # 元组的查询 for item

  • Python四大金刚之元组详解

    目录 引言 一.元组的创建方式 二.元组的遍历 总结 引言 一.元组的创建方式 #第一种: t = ('python','No.1') print(t) print(type(t)) #第二种: 内置函数tuple() t1 = tuple(('python','No.2')) print(t1) print(type(t1)) 注:当元组中只有一个元素时候,需要加 逗号!!!! 二.元组的遍历 for item in t1 : print(item) for i in range(2) : p

  • Python入门:认识列表和元组

    目录 列表的特性 元组的特性 两者支持的操作 负数索引 切片操作 随意嵌套 相互转换 常用内置函数 存储方式的差异 性能对比 两者的使用场景 总结 提问:两个创建空列表的方法,哪个更快. 列表和元组,都是一个可以放置任何数据类型的有序集合. 列表的特性 动态的(mutable):长度大小不固定,可以随意地增加.删减或者改变元素. 会修改原来列表中的元素,而不会创建新的列表. # 新建一个列表 l = [1, 2, 'hello', 'world'] # 输出列表 l # 显示内容 [1, 2,

  • python教程命名元组示例分析

    目录 实际上 collections.namedtuple() 是一个工厂方法,它返回的是python中标准元组类型的子类.我们提供给它一个类型名称以及相应的字段,它就返回一个可实例化的类为你已经定义好的字段传入值等. from collections import namedtuple Subscriber = namedtuble('Subscriber', ['addr', 'joined']) sub = Subscriber('jonesy@example.com', '2012-10

  • python元组简单介绍

    目录 1.拆包 2.enumerate 3.list() 元组的特点:是一种不可变序列,一旦创建就不能修改 1.拆包 将元组的元素取出赋值给不同变量 >>> a = ('hello', 'world', 1, 2, 3) >>> str1, str2, n1, n2, n3 = a >>> str1 'hello' >>> str2 'world' >>> n1 1 >>> n2 2 >>

  • Python的列表和元组详情

    目录 一.Python 列表(list) 1.序列介绍 2.列表的概述 3.创建列表 4.列表的索引 5.列表的分片 6.列表的分片赋值 7.循环遍历列表 8.查找元素与计数 9.列表增加元素 10.列表删除元素 11.列表排序 二. Python 元组(tuple) 1.为什么要将元组设计成为不可变序列 2.创建元组 3.元组的遍历 4.元组的内置函数 一.Python 列表(list) 1.序列介绍 序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,

  • Python列表和元组的定义与使用操作示例

    本文实例讲述了Python列表和元组的定义与使用操作.分享给大家供大家参考,具体如下: #coding=utf8 print ''''' 可以将列表和元组当成普通的"数组",它能保存任意数量任意类型的Python对象. 列表和元组通过数字索引来访问元素(从0开始). 列表和元组的区别: ------------------------------------------------------------------------------------ 元组 \ 列表 --------

  • Python中关于元组 集合 字符串 函数 异常处理的全面详解

    目录 元组 集合 字符串 1.字符串的驻留机制 2.常用操作 函数 1.函数的优点: 2.函数的创建:def 函数名([输入参数]) 3.函数的参数传递: 4.函数的返回值: 5.函数的参数定义: 6.变量的作用区域 7.递归函数:函数体内套用该函数本身 8.将函数存储在模块中 9.函数编写指南: Bug 1.Bug常见类型 2.常见异常类型 3.python异常处理机制 pycharm开发环境的调试 编程思想 (1)两种编程思想 (2)类和对象的创建 元组 元组是不可变序列 多任务环境下,同时

随机推荐