文章目录
一、元组
Python中,元组(tuple)和列表类似。元组写在小括号()内,以逗号分隔开。元组可以容纳任意数量的不同类型的元素(如整数、浮点数、字符串、列表等)。
1、元组与列表的不同之处
相同之处:list 与 tuple 都是序列类型的容器对象,可以存放任何类型的数据、支持切片、迭代等操作。
不同之处:
- 元组是不可变数据类型, 大小固定,而list是可变类型,数据可以动态变化。这就导致两者提供的方法有很大的区别。列表特有的方法(排序,插入,反转,扩展,移除,追加)都是基于原来的列表进行更新,而tuple作为不可变数据类型,同样大小的数据,初始化和迭代tuple都要快于list,tuple 占用的内存空间更少。
python -m timeit “[1,2,3,4,5]”
10000000 loops, best of 3: 0.123 usec per loo
python -m timeit “(1,2,3,4,5)”
100000000 loops, best of 3: 0.0166 usec per loop
a = tuple(range(1000))
b = list(range(1000))
a.sizeof()
8024
b.sizeof()
9088
- tuple用于存储异构数据,而列表一般用于存储同构数据(具有相同意义的数据)。
2、定义一个元组
- 把所有的元素以
逗号分隔,放在小括号内,然后赋值给一个变量,即可创建。(小括号在创建元组时不是必需的。)
(1)包含不同数据类型元素的元组
tup = "a", "b", "c", "d"
tup1 = (1,2,3,4)
tup2 = ('ran','qiuqiu','love')

(2)嵌套元组,如果元组里面包含可变的数据类型(如列表),可以间接的通过修改列表去修改元组内容


(3)仅有一个元素的元组,元组如果只有一个元素的时候,元素后面一定要加逗号,来完成元组的声明。


如果不添加逗号,那么变量的类型是字符串。


3、删除一个元组
del tuple
>>> t = ('ran','qiuqiu','love','love',1,2,3,4,True)
>>> print (t)
('ran', 'qiuqiu', 'love', 'love', 1, 2, 3, 4, True)
>>> del t
>>> print (t)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 't' is not defined
4、元组是不可变的
元组的不可变:是指元组所指向的内存中的内容不可变。重新赋值的元组 tup,绑定到新的对象了,不是修改了原来的对象。
>>> tup = ('ran','qiuqiu','love','love',1,2,3,4,True)
>>> id(tup) # 查看内存地址
4440687904
>>> tup = (1,2,3)
>>> id(tup)
4441088800 # 内存地址不一样了
二、元组的特性
元组中的元素没有增删改,但是可以通过组合的方式来修改元组,元组中的元素不可以删除,但是可以使用del语句来删除整个元组。
1、索引
- 通过使用**方括号[]包围的索引值及元组名**来访问元组中的元素,用法和对string的访问类似。

2、切片
- 可以使用切片来**打印元组中连续的值**


3、连接(只能连接元组)

>>> tup = "a", "b", "c", "d"
>>> tup1 = (1,2,3,4)
>>> tup2 = ('ran','qiuqiu','love')
>>> print(tup + tup1)
('a', 'b', 'c', 'd', 1, 2, 3, 4)
>>> list = ['ranran','xixi']
>>> print(tup + list)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can only concatenate tuple (not "list") to tuple
>>>
4、重复

5、成员操作符(in)
- 判断一个元素是否存在在于某元组中。输出的结果是布尔值。

6、for循环(元组的遍历)

三、元组常用的函数

1、计数
t.count(某元素)

2、通过元组项求索引值

四、元组的应用场景
1、元组的赋值
(1)给某元组赋值
- 元组允许左边的变量直接复制右边的元组值,但是左边变量必须与右边元素的个数相同。
- 每个变量被赋予元组中的一个值,并且可以单独访问。


(2)交换两变量的值


2、打印变量


本文详细介绍了Python中的元组,包括元组与列表的区别、定义方式、不可变特性、常用操作(索引、切片、成员操作符等)、元组函数以及在实际应用中的场景,如元组赋值和交换变量值。

被折叠的 条评论
为什么被折叠?



