Python基础教程:元组详细使用

枫铃3年前 (2021-10-03)Python255

元组

元组和列表类似,但属于不可变序列,元组一旦创建,用任何方法都不可修改其元素。

元组的定义方式和列表相同,但定义时所有元素是放在一对圆括号“()”中,而不是方括号中。

1.元组创建

使用”=”将一个元组赋值给变量

>>> a_tuple=('a','b','mpilgrim','z','example')
>>> a_tuple
('a', 'b', 'mpilgrim', 'z', 'example')
>>> a = (3)    # 这里的括号代表数学里面的小括号
>>> a
3
>>> a = (3,)      # 包含一个元素的元组,最后必须写多个逗号
>>> a
(3,)
>>> a = 3,      # 也可以这样去创建元组
>>> a
(3,)
>>> x = ()      # 创建空元组
>>> x
()

使用tuple函数将其他序列转换为元组

>>> tuple('abcdefg')     # 把字符串转换为元组
('a', 'b', 'c', 'd', 'e', 'f', 'g')
>>> aList = [-1,-4,6,7.5,-2.3,9,11]
>>> aList
[-1, -4, 6, 7.5, -2.3, 9, 11]
>>> tuple(aList)        # 把列表转换为元组
(-1, -4, 6, 7.5, -2.3, 9, 11)
>>> s = tuple()        # 空元组
>>> s
()

2 .访问元组

元组可以使用下标索引来访问元组中的值,与列表类似

>>> a = ('a','b','c')
>>> a[0]
'a'  

因为元组也是一个序列,所以我们可以访问元组中的指定位置的元素,也可以截取索引中的一段元素

>>> c = ('a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c')
>>> c[2:4]
('c', 'a')

3 .修改元组

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

'''
Python学习交流,免费公开课,免费资料,
免费答疑,系统学习加QQ群:531509025
'''
 
>>> a = ('a','b','c')
>>> a[0]
'a'
>>> a = ('a','b','c')
>>> b = (1,2,3)
>>> a + b
('a', 'b', 'c', 1, 2, 3)
>>> a*3
('a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c')
>>>

注意:这里修改元组的意思其实是返回了一个新的元组,并没有对原来的元组进行修改

4. 删除元组

使用del可以删除元组对象,不能删除元组中的元素

>>> a = ('a','b','c')
>>> a
('a', 'b', 'c')
>>> del a
>>> a
Traceback (most recent call last):
File "<pyshell#38>", line 1, in <module>
a
NameError: name 'a' is not defined

5.元组常用函数

>>> student= (1, "tom", "2008-05-06", 10, 135.7)
>>> print(len(student))    # len 返回元组的元素个数
5
>>> num=(1, 2, 3, 4, 5, 6, 7 )
>>> print (max(num))    # max 返回元组元素最大值
7
>>> num=(1, 2, 3, 4, 5, 6, 7 )  
>>> print (min(num))    # min 返回元组元素最小值
1

6.元组与列表的区别

元组一旦定义就不允许更改。
元组没有append()、extend()和insert()等方法,无法向元组中添加元素。
元组没有remove()或pop()方法,也无法对元组元素进行del操作,不能从元组中删除元素。
从效果上看,tuple( )冻结列表,而list( )融化元组。

7.元组的优点

元组的速度比列表更快。如果定义了一系列常量值,而所需做的仅是对它进行遍历,那么一般使用元组而不用列表。

元组对不需要改变的数据进行“写保护”将使得代码更加安全。

元组可用作字典的“键”,也可以作为集合的元素。列表永远不能当做字典键使用,也不能作为集合的元素,因为列表不是不可变的。

注意:如果元组里面的元素嵌套着列表,那么这个列表中的元素其实是可变的。

>>> t = ('a', 'b', ['A', 'B'])
>>> t[2][0] = 'X'
>>> t[2][1] = 'Y'
>>> t
('a', 'b', ['X', 'Y'])
>>>

所以这里的理解应该是元组 t 里面的元素本身不可变,但是其中有一个元素是一个list,我们对list中的元素进行了修改,但是并没有对元组里面的元素进行修改,所以这里运行才是正常的。

相关文章

利用python同步windows和linux文件

写python脚本的初衷,每次在windows编辑完文件后,想同步到linux上去,只能够登录服务器,...

爬虫基本原理

爬虫基本原理 一、爬虫是什么? 百度百科和维基百科对网络爬虫的定义:简单来说爬虫就是抓取目标网站内容的工具,一般是根据定义的行...

Django 函数和方法的区别

函数和方法的区别 1、函数要手动传self,方法不用传 2、如果是一个函数,用类名去调用,如果是一个方法...

Django 知识补漏单例模式

单例模式:(说白了就是)创建一个类的实例。在 Python 中,我们可以用多种方法来实现单例模式&#x...

Django基础知识MTV

Django简介 Django是使用Python编写的一个开源Web框架。可以用它来快速搭建一个高性能的网站。 Django也是一个MVC框架。但是在Dj...

Python mysql 索引原理与慢查询优化

一 介绍 为何要有索引? 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。