返回顶部
首页 > 资讯 > 后端开发 > Python >Python 元组tuple详解(超详细)
  • 395
分享到

Python 元组tuple详解(超详细)

python开发语言pycharm后端算法 2023-09-16 09:09:52 395人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

文章目录 Python内置函数/方法详解—元组tuple1、创建元组1.1 使用 () 创建元组1.2 使用 tuple()函数 创建元组1.3 元组(单个元素)1.4 元组 VS 列表

文章目录

python内置函数/方法详解—元组tuple

元组是有序不可更改集合。在Python中,元组使用圆括号 () 编写的。

1、创建元组

元组的创建很简单,使用圆括号 () 直接创建或者使用 tuple() 函数创建,只需要在圆括号中添加元素,并使用逗号隔开即可。

1.1 使用 () 创建元组

通过 () 创建元组后,使用 = 将它赋值给变量,格式如下:

tuple_name = (element_1, element_2, ..., element_n)

其中,tuple_name 表示变量名,element_1 ~ element_n 表示元组内的元素。

1.2 使用 tuple()函数 创建元组

我们除了可以使用 () 创建元组,还可以使用 tuple() 函数创建元组,但 tuple() 偏向于将某个类型转换为元组,具体用法见下述:

cre_tuple = tuple(('a', 'b', 'c'))  # 注意双括号print(cre_tuple)print(type(cre_tuple))
('a', 'b', 'c')<class 'tuple'>

1.3 元组(单个元素)

当元组中只包含一个元素时,需要在元素后面添加逗号, ,否则括号会被当作运算符使用:

tuple_1 = (20)print(type(tuple_1))  # tuple_2 = (20,)print(type(tuple_2))  # 

当元组中只含一个元素未添加逗号时,使用 type() 打印其类型时,会输出

当元组中只含一个元素并添加逗号时,使用type() 打印其类型时,会输出

1.4 元组 VS 列表

  • 在Python中,元组与列表相似,不同之处在于元组的元素不能修改,而列表的元素可以修改
  • 元组使用 小括号(),列表使用 中括号[]

2、访问元组

和列表一样,我们既可以使用下标索引访问元组中的某个元素(得到一个元素的值),也可以使用切片访问元组中的一组元素(得到是子元组)。

2.1 下标索引访问

下标索引访问元组分为两大类,即正向索引反向索引,格式为 tuple_name[i] ,其中,tuple_name 表示元组名,i表示索引值,i可以是正数(正向索引)也可以是负数(反向索引)。

可以得知,tuple_name[0]表示元组内第一个元素tuple_name[-1]则表示元组内最后一个元素

tuple_name = ('wzq', 'lgl', 'gz', 'whl', 'sj', 'hxw')print(tuple_name[0])print(tuple_name[-1])
wzqhxw

正向索引:从第一个(下标0)开始、第二个(下标1)…

反向索引:从倒数第一个(下标-1)、倒数第二个(下标-2)…

2.2 切片访问

如若对上方描述不太理解,可参考下表:

元组值wzqlglgzwhlsjhxw
正向索引012345
反向索引-6-5-4-3-2-1

使用切片访问元组的格式为 tuple_name[strat : end : step] ,其中,start 表示起始索引,end 表示结束索引,step 表示步长。

tuple_name = ('wzq', 'lgl', 'gz', 'whl', 'sj', 'hxw')print(tuple_name[1:5:2])print(tuple_name[-6:-1:3])
('lgl', 'whl')('wzq', 'whl')

在使用切片访问元组元素时,tuple_name[strat : end : step],[start:end] 是左闭右开区间,即访问不了 end 代表的元素。

2.3 for 循环遍历元组

可以使用 for 循环遍历元组中的项目

fruit_tuple = ('apple', 'pear', 'cherry')for i in fruit_tuple:    print(i)
applepearcherry

2.4 检查项目是否存在

要确定元组中是否存在指定的项,我们可以使用 in 关键字:

# 检查元组中是否存在'apple'fruit_tuple = ('apple', 'pear', 'cherry')print('apple' in fruit_tuple)
True

使用 in 关键字检查元组中是否存在指定项时,如果存在,则返回 True ;反之,则返回 False

2.5 更改元组值

创建元组后,我们将无法更改其值。元组是不可变的,或者也被称为恒定的。

但是有一种解决方法:可以先将元组转换为列表,更改列表值,然后再将其转换回元组

fruit_tuple = ('apple', 'pear', 'cherry')fruit_list = list(fruit_tuple)fruit_list[2] = 'banana'fruit_tuple = tuple(fruit_list)print(fruit_tuple)
('apple', 'pear', 'banana')

2.6 元组连接(合并)/复制

字符串一样,元组之间可以使用 + 号和 * 号实现元组的连接复制,这就意味着它们可以生成一个新的元组。

+连接

x = (1, 2, 3)y = (4, 5, 6)print(x + y)
(1, 2, 3, 4, 5, 6)

*复制

x = ('Hello',)print(x * 5)
('Hello', 'Hello', 'Hello', 'Hello', 'Hello')

2.7 元组不可变性

所谓元组的不可变性指的是元组所指向的内存中的内容不可变。

tup = ('A', 'B', 'C')# tup[0] = 'a'

不支持修改元素,会报错 TypeError: 'tuple' object does not support item assignment

tup = ('A', 'B', 'C')print(id(tup))# 查看内存地址tup = (1, 2, 3)print(id(tup))
26714050672642671405072256

从以上实例可以看出,重新赋值的元组 tup ,绑定到了新的对象了,不是修改了原来的对象。

3、内置函数

3.1 打印输出 print()

print()函数

print() 函数的功能我们已经非常熟悉了,就是打印输出。

my_tuple = ('name', True, 21)print(my_tuple)
('name', True, 21)

3.2 确定元组项目 len()

len()函数

当我们要确定一个元组有多少项目(元素)时,可以使用len()函数。

fruit_tuple = ('apple', 'banana', 'cherry')print(len(fruit_tuple))
3

3.3 返回变量类型 type()

type()函数

使用 type() 函数可以确定变量是什么类型(字符串、列表、元组、字典或集合)。

当对tup_1 = (20)使用 type() 确定变量类型时,会返回,表明这是一个整型。所以当一个元组只含有一个元素时,一定要加上逗号,

当对tup_1 = (20,)使用 type() 确定变量类型时,会返回,表明这是一个元组

3.4 转换为元组 tuple()

tuple()函数

tuple() 函数的功能是,将其他类型转换为元组类型,详细用法如下:

  • 将字符串转换为元组
str1 = 'Hello Python'print(tuple(str1))
('H', 'e', 'l', 'l', 'o', ' ', 'P', 'y', 't', 'h', 'o', 'n')
  • 将列表转换为元组
list1 = ['Hello', 'Python']print(tuple(list1))
('Hello', 'Python')
  • 将字典转换为元组
dict1 = {'Hello': 'Python', 'name': 'pink'}print(tuple(dict1))
('Hello', 'name')
  • 将集合转换为元组
set1 = {'Hello', 'Python', 'name', 'pink'}print(tuple(set1))
('Hello', 'name', 'Python', 'pink')
  • 将区间转换为元组
range1 = range(1, 6)print(tuple(range1))
(1, 2, 3, 4, 5)

3.5 元组元素最大/小值 max()、min()

max()函数和min()函数

max() 函数的作用是返回元组中元素最大值min() 函数的作用是返回元组中元素最小值

tup1 = (4, 6, 2, 0, -5)print(max(tup1))print(min(tup1))tup2 = ('a', 'z', 'A', 'Z')print(max(tup2))print(min(tup2))
6-5zA

3.6 删除元组 del

元组中的元素值是不允许删除的,但我们可以使用 del 函数来删除整个元组。

Word_tuple = ('a', 'b', 'c')del word_tuple

当我们使用 del 函数删除某元组后,再使用 print() 函数打印输出时,会报错NameError: name 'word_tuple' is not defined,表明该元组未被定义。

4、内置方法

4.1 元素出现次数 count()

count() 方法返回指定值在元组中出现的次数。

语法

tuple.count(value)

参数值

参数秒速
value必需。要检索的项目。

实例

返回值 5 在元组中出现的次数:

num_tuple = (1, 3, 7, 8, 7, 5, 4, 6, 8, 5, 5)print(num_tuple.count(5))
3

4.2 元素位置 index()

index() 方法查找指定值的第一次出现。

语法

tuple.index(value)

参数值

参数描述
value必需。要检索的项目。

实例

num_tuple = (1, 3, 7, 8, 7, 5, 4, 6, 8, 5, 5)print(num_tuple.index(5))
5

注意:当被搜索值在元组中存在多个,则返回第一次出现的下标。

num_tuple = (1, 3, 7, 8, 7, 5, 4, 6, 8, 5, 5)print(num_tuple.index(999))

如果未找到该值,index() 方法将引发异常,ValueError: tuple.index(x): x not in tuple

5、总结

函数描述
print()打印输出
len()确定元组项目
type()返回变量类型
tuple()转换为元组
max()返回元组元素最大值
min()返回元组元素最小值
del删除元组
方法描述
count()返回元组中指定值出现的次数
index()在元组中搜索指定的值并返回它被找到的位置

以上就是本文的全部内容啦!如果对您有帮助,麻烦点赞啦!收藏啦!欢迎各位评论区留言!!!

最后编辑于:2022/7/25 20:43

来源地址:https://blog.csdn.net/m0_70885101/article/details/125999020

--结束END--

本文标题: Python 元组tuple详解(超详细)

本文链接: https://lsjlt.com/news/409685.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python 元组tuple详解(超详细)
    文章目录 Python内置函数/方法详解—元组tuple1、创建元组1.1 使用 () 创建元组1.2 使用 tuple()函数 创建元组1.3 元组(单个元素)1.4 元组 VS 列表 ...
    99+
    2023-09-16
    python 开发语言 pycharm 后端 算法
  • Python的 元组(Tuple)详解
    目录Python3的 元组(Tuple)元组运算符元组索引,截取元组内置函数总结Python3的 元组(Tuple) Python 的元组与列表类似,不同之处在于元组的元素不能修改。...
    99+
    2024-04-02
  • Python中的元组(Tuple)操作实例详解
    目录引言1.元组的 创建 && 访问(1)元组的创建:(2)访问:2.元组的 修改 && 删除(1)元组的修改:(2)元组的删除:3.元组的内置方法4...
    99+
    2024-04-02
  • python列表[list]和元组(tuple)详情
    列表和元组: list是一种有序的集合,可以随时添加和删除其中的元素.1,创建一个普通列表 List = ['Jack','Bob','Lucy','Rose'] Append() ...
    99+
    2024-04-02
  • python 元组tuple
    # -*- coding: utf8 -*- """ 元组的相关测试, 基本和列表一模一样,除了元素不能被修改,元组用小括号括起,实际起作用的是逗号 """ #定义 #空元组 tuple1 = () #创建一个元素,和列表有所区别 tu...
    99+
    2023-01-31
    python tuple
  • Python超详细讲解元类的使用
    目录类的定义一、什么是元类二、注意区分元类和继承的基类三、type 元类的使用四、自定义元类的使用类的定义 对象是通过类创建的,如下面的代码: # object 为顶层基类 clas...
    99+
    2024-04-02
  • python学习笔记之列表(list)与元组(tuple)详解
    前言 最近重新再看python的基础知识,感觉自己还是对于这些知识很陌生,需要用的时候还是需要翻书查阅,还是先注重基础吧——我要重新把python的教程阅读一遍,把以前自己忽略的部分学习,加强练习和记忆。 ...
    99+
    2022-06-04
    详解 学习笔记 列表
  • Python数据类型详解(三)元祖:tuple
    一.基本数据类型   整数:int   字符串:str(注:t等于一个tab键)   布尔值: bool   列表:list   列表用[]   元祖:tuple   元祖用()   字典:dict 注...
    99+
    2022-06-04
    元祖 详解 数据类型
  • python多线程超详细详解
    python中的多线程是一个非常重要的知识点,今天为大家对多线程进行详细的说明,代码中的注释有多线程的知识点还有测试用的实例。 import threading from thr...
    99+
    2024-04-02
  • Python 集合set详解(超详细)
    文章目录 Python内置函数/方法详解—集合set1、构造集合2、基本计算2.1 -2.2 |2.3 &2.4 ^ 3、访问项目4、内置函数4.1 打印输出 print()4.2 计算...
    99+
    2023-09-02
    python 开发语言 pycharm 后端 算法
  • Python 列表list详解(超详细)
    文章目录 Python内置函数/方法详解—列表list1、创建列表1.1 使用 [ ] 创建列表1.2 使用 list() 函数 创建(转换为)列表 2、访问列表2.1 下标索引访问2....
    99+
    2023-08-31
    python 开发语言 pycharm 算法 后端
  • Jetpacknavigation组件超详细讲解
    目录依赖项创建导航图导航宿主导航到目的地传递参数NavigationUI多模块导航导航是指支持用户导航、进入和退出应用中不同内容片段的交互。Android Jetpack 的导航组件...
    99+
    2022-11-13
    Jetpack navigation Jetpack navigation组件 Android navigation
  • Python 字符串str详解(超详细)
    文章目录 Python内置函数/方法详解—字符串str1、创建字符串1.1 使用 ' ' 或 " " 创建字符串1.2 使用 str()函数 转换为字符串 2、访问字符串2.1 下标索引...
    99+
    2023-10-22
    python 开发语言 pycharm 后端 算法
  • Python爬虫超详细讲解
    本篇文章给大家带来了关于Python的相关知识,其中主要整理了爬虫的相关问题,网络爬虫(又被称为网页蜘蛛,网络机器人)就是模拟浏览器发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序,下面一起来看一下,希望对大家有帮...
    99+
    2022-07-14
    python
  • C++超详细讲解友元的使用
    目录一、友元的概念二、友元的用法三、友元的语法四、友元的尴尬五、注意事项六、小结一、友元的概念 什么是友元友元是 C++ 中的一种关系友元关系发生在函数与类之间或者类与类之间友元关系...
    99+
    2024-04-02
  • VUE组件传参超详细讲解
    目录Vue.cli 中怎样使用自定义的组件Vue 组件如何进行传值的父组件向子组件传递数据子组件向父组件传递数据非父子组件之间传递数据父传子例子子传父例子Vue组件data为什么必须...
    99+
    2024-04-02
  • Python的元组Tuple怎么用
    这篇文章主要介绍“Python的元组Tuple怎么用”,在日常操作中,相信很多人在Python的元组Tuple怎么用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python的元组Tuple怎么用”的疑惑有所...
    99+
    2023-06-29
  • Python队列Queue超详细讲解
    目录queue模块简介queue.Queue(maxsize=0)queue.LifoQueue(maxsize=0)queue.PriorityQueue(maxsize=0)qu...
    99+
    2023-05-16
    Python队列Queue Python Queue
  • http协议详解(超详细)
    http1. 基础概念篇1.1 介绍  HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。它的发展是万维网协会(World Wide Web Consortium)和Intern...
    99+
    2023-06-04
  • Go语言单元测试超详细解析
    目录一、单元测试分类及其概念1.基本分类2.细说单元测试分类二、结合代码细说每一种测试1.基准测试2.组测试与子测试三、pprof调试工具1.对主函数进行传参2.pprof性能调优前...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作