【Python基础】元组类型

本文收录于 《Python编程入门》专栏,从零基础开始,分享一些Python编程基础知识,欢迎关注,谢谢!

文章目录

    • 一、前言
    • [二、Python 元组](#二、Python 元组)
        • [2.1 创建特殊元组](#2.1 创建特殊元组)
        • [2.2 访问元组](#2.2 访问元组)
        • [2.3 删除元组](#2.3 删除元组)
        • [2.4 元组截取](#2.4 元组截取)
        • [2.5 元组运算符](#2.5 元组运算符)
        • [2.6 元组内置函数](#2.6 元组内置函数)
        • [2.7 元组是不可变的](#2.7 元组是不可变的)
    • 三、总结

一、前言

本文分享一些关于Python编程中的元组类型的知识。

  • 什么是Python?

    Python是由荷兰人吉多·范罗苏姆于1990年初设计的一门高级编程语言,该语言应用领域非常广泛,尤其在数据科学、人工智能、游戏开发等领域,它已经成为最受欢迎的程序设计语言之一,非常适合新手学习。

    Python语言标准库官方使用手册:https://docs.python.org/zh-cn/3/library/turtle.html#turtle-methods

  • Python语言有哪些特点?

    1.易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。

    2.易于阅读:Python代码定义的更清晰。

    3.易于维护:Python的成功在于它的源代码是相当容易维护的。

    4.丰富的库:Python的最大的优势之一具有丰富的标准库,并且跨平台的,在UNIX,Windows和Mac兼容很好。

    5.面向对象:Python支持面向对象编程,在"面向对象"的语言中,程序是由数据和功能组合而成的对象构建起来的。

    6.可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。

    7.可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。

    8.可嵌入: 你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力。

二、Python 元组

Python 的元组与列表类似,不同之处在于元组的元素不能修改。

元组使用小括号 ( ),列表使用方括号 [ ]。

创建元组,实例如下:

python 复制代码
#!/usr/bin/python
tup1 = ('huawei', 'baidu', 2023, 2024)
tup2 = (1, 2, 3, 4, 5 )

print("tup1:",tup1)
print("tup2:",tup2)

实例运行结果如下:

tup1: ('huawei', 'baidu', 2023, 2024)
tup2: (1, 2, 3, 4, 5)
2.1 创建特殊元组

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

另外,创建一个空元组,格式为:tup1 = ()

Python 复制代码
#!/usr/bin/python
# 创建一个空元组
tup1 = ()
# 创建一个仅包括一个元素的元组
tup2 = (1, )

print("tup1:",tup1)
print("tup2:",tup2)

实例运行结果如下:

tup1: ()
tup2: (1,)
2.2 访问元组

访问元组方法与列表、字符串的索引一样,列表索引从 0 开始,第二个索引是 1,依此类推。

通过索引列表可以进行截取、组合等操作。

实例如下:

Python 复制代码
#!/usr/bin/python3

tup1 = ('red', 'green', 'blue', 'yellow', 'white', 'black')
print( tup1[0] )
print( tup1[1] )
print( tup1[2] )

实例运行结果如下:

red
green
blue

索引也可以从尾部开始,最后一个元素的索引为 -1 ,往前一位为 -2,以此类推。

实例如下:

Python 复制代码
#!/usr/bin/python3

tup1 = ('red', 'green', 'blue', 'yellow', 'white', 'black')
print( tup1[-1] )
print( tup1[-2] )
print( tup1[-3] )

实例运行结果如下:

black
white
yellow
2.3 删除元组

元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组,如下实例:

python 复制代码
#!/usr/bin/python3

tup1 = ('red', 'green', 'blue', 'yellow', 'white', 'black')
print (tup1)
del tup1
print ("删除后的元组 tup1 : ")
print (tup1)

实例运行结果如下:

python 复制代码
('red', 'green', 'blue', 'yellow', 'white', 'black')
删除后的元组 tup1 : 

Traceback (most recent call last):
  File "script.py", line 7, in <module>
    print (tup1)
NameError: name 'tup1' is not defined

Exited with error status 1

运行结果出现异常信息,是因为元组tup1 被删除了,所以打印出错。

2.4 元组截取

跟列表、字符串一样,元组也可以进行截取操作,实例如下:

Python 复制代码
#!/usr/bin/python3

nums = (10, 20, 30, 40, 50, 60, 70, 80, 90)
print("1-值:",nums[2:7]) # 截取从索引2到索引7范围的值,不包括索引7
print("2-值:",nums[-2:]) # 截取从索引-2到最后范围的值

实例运行结果如下:

1-值: (30, 40, 50, 60, 70)
2-值: (80, 90)
2.5 元组运算符

与字符串一样,元组之间可以使用 +、**+=**和 ***** 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。

2.6 元组内置函数

Python元组包含了以下常用的内置函数:

实例如下:

Python 复制代码
#!/usr/bin/python3

tup = (10, 20, 30, 40, 50)

print("1-值:",len(tup)) 

print("2-值:",max(tup)) 

print("3-值:",min(tup)) 

list = [1,2,3]

tup1 = tuple(list)
print("4-值:",tup1) 

实例运行结果如下:

1-值: 5
2-值: 50
3-值: 10
4-值: (1, 2, 3)
2.7 元组是不可变的

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

如下实例中,修改元组中内容,就会出现异常。

Python 复制代码
#!/usr/bin/python3

tup = (10, 20, 30, 40, 50)

tup[0] = 100

实例运行结果如下:

Python 复制代码
Traceback (most recent call last):
  File "script.py", line 6, in <module>
    tup[0] = 100
TypeError: 'tuple' object does not support item assignment

Exited with error status 1

三、总结

以上介绍了一些关于Python编程中的元组类型的知识,并提供了对应的示例代码。希望对大家有帮助,谢谢。

如果您对文章中内容有疑问,欢迎在评论区进行留言,我会尽量抽时间给您回复。如果文章对您有帮助,欢迎点赞、收藏。您的点赞,是对我最大的支持和鼓励,谢谢 :-)

相关推荐
陌小呆^O^5 分钟前
Cmakelist.txt之win-c-udp-server
c语言·开发语言·udp
Gu Gu Study11 分钟前
枚举与lambda表达式,枚举实现单例模式为什么是安全的,lambda表达式与函数式接口的小九九~
java·开发语言
时光の尘26 分钟前
C语言菜鸟入门·关键字·float以及double的用法
运维·服务器·c语言·开发语言·stm32·单片机·c
以后不吃煲仔饭40 分钟前
Java基础夯实——2.7 线程上下文切换
java·开发语言
进阶的架构师41 分钟前
2024年Java面试题及答案整理(1000+面试题附答案解析)
java·开发语言
前端拾光者1 小时前
利用D3.js实现数据可视化的简单示例
开发语言·javascript·信息可视化
程序猿阿伟1 小时前
《C++ 实现区块链:区块时间戳的存储与验证机制解析》
开发语言·c++·区块链
傻啦嘿哟1 小时前
如何使用 Python 开发一个简单的文本数据转换为 Excel 工具
开发语言·python·excel
大数据编程之光1 小时前
Flink Standalone集群模式安装部署全攻略
java·大数据·开发语言·面试·flink
初九之潜龙勿用1 小时前
C#校验画布签名图片是否为空白
开发语言·ui·c#·.net