【python学习记录】之元组

基本操作

元组与列表类似,但元组不可修改元素

# 在创建单个元素时与列表稍有不同
t = ()        # 创建一个空元组, t 输出为  ()
t = (1, )     # 只有一个元素时需要多写一个,否则括号会被认为时运算符,t 输出为 (1)
t = (1)       # 创建元组的错误示例,t 输出为 1, 相当于 t = 1
t = (1, 2, 3) # 创建多元素元组

虽然不可以直接修改元素,但是可以进行一些组合等操作。

# 元组的组合操作
t1 = (1, 2, 3)
t2 = (4, 5, 6)
t = t1 + t2        # t 输出为 (1, 2, 3, 4, 5, 6)

# 截取,骚操作等都与列表类似不举例了,这些操作的特点就是产生新的元组,不会改变原本元组的元素。
# 这是说一下元组的推导式, 创建方式与列表一样

>>> t = (x for x in range(10))
>>> t
<generator object <genexpr> at 0x000001AF6F702148>

# 但是不是直接产生一个元组,而是一个迭代器,可以直接通过tuple()或者list()转换成元组、列表进行访问可操作。

内置函数

元组的内置函数有len(), max(),  min(), tuple(iterable),前三个与列表一致,tuple(iterable)是将可迭代系列转换为元组

元组不可变

# 元素不可修改,但是元组地址可以更改
>>> t = tuple((x for x in range(5)))
>>> t
(0, 1, 2, 3, 4)
>>> id(t)
2402268542152
>>> t = (1, 1, 1)
>>> id(t)
2402299851624

# 元组单独的元素不可以删除,但是可以删除整个元组
del(t)

# 还有一种特殊情况,当元素是非元组的序列时可以修改序列的内容
>>> t = ([1, 2],[3, 4])
>>> t[0][0] = 0
>>> t                # t的地址是没有变化的
([0, 2], [3, 4])
>>> del(t[0][0])
>>> t                
([2], [3, 4])

随笔

# 打包与解包
>>> t = 12345, 54321, 'hello!'
>>> t
(12345, 54321, 'hello!')
>>> x, y, z = t

# 解包同样适用于列表,打包直接生成元组。

猜你喜欢

转载自blog.csdn.net/qq_40702130/article/details/109768083
今日推荐