说明:本blog基于python3版本
前言
一、tuple的常见赋值报错
tuple是python中的一种常见数据类型,中文名叫元组;python中的数据类型分为可以更改的数据类型和不可以更改的数据类型,常见的可以更改的数据类型包括list(列表),dictionary(字典),Numpy(全称为 numerical numpy,而元组是不可更改的数据类型;什么意思呢?从元组中元素的角度,元组中对应位置的元素是无法重复赋值的!否则报错!但如果元组中的元素本身是更改的数据类型,那么可以对该元素内部进行更改!但仍无法重新赋值!
另外,还得补充说明一下,这一切不妨碍我们重新对整体元组进行赋值!
我们用代码来重新阐述一下tuple的这三个基本属性。
比如,我们设置一个叫a的tuple,值为 1,3,6
代码如下:
a = 1,3,6
第一步,我们重新赋值元组a第0位位置的元素时,就会报错!如下
a[0] = 2
Traceback (most recent call last):
File "C:\Users\DELL\python学习-元组.py", line 14, in <module>
a[0] = 2
TypeError: 'tuple' object does not support item assignment
然后我们重新定义一个元组b, 元组的第二个位置是一个list类型的数据,[1,2,3]
代码如下,
b = 1,[1,2,3],6
第二步,我们对元组b的第二个位置进行元素内部改写,扩充该元素为[1,2,3,4]
代码如下
b[1].append(4)
print(b)
结果如下
(1, [1, 2, 3, 4], 6)
但如果我们重新赋值元组第2个位置的元素为一个新的list,就会报错
代码如下
b[1]= [0]
Traceback (most recent call last):
File "C:\Users\DELL\python学习-元组.py", line 11, in <module>
b[1]=[0]
TypeError: 'tuple' object does not support item assignment
第三步,我们重新赋值整个tuple b,代码如下
b = 0,0
print(b)
结果如下,
(0, 0)
很好,这就是tuple赋值的秘密,你get了吗?
二、tuple拆包
tuple拆包是常见操作,就是以位置为标准,进行元素拆解、赋值
比如我们设置一个元组c,代码如下
c = 1,3,5,7
我想取得最后两个元素,并分别命名为d, e; 我们使用拆包方法
_,_,d,e = c
print("d = {},e = {}".format(d,e))
结果如下
d = 5,e = 7
如果tuple中的元素为tuple类型或者list类型,我们也可以使用for loop帮我们完成拆包
比如
a = ([1,2,3],[3,4,5],[5,6,7])
我们只打印tuple每个元素中的后两个元素
for _,d,f in a:
print(d)
print(f)
结果如下
2
3
4
5
6
7
OK, 这就是常见的tuple拆包方法,日常使用python时常用方法,一定要掌握哦~
三、tuple计算某个元素的重复次数和拼接
计数就是count()方法,拼接就是用“+”号啦~
首先我们演示计数方法:
代码:
a = 1,2,3,1,2,3,4,5,3
b = a.count(3)
print(b)
结果如下
3
然后我们演示拼接两个tuple,
a = [1,2,3]
b = [6,7,7]
c = a+b
print(c)
结果如下
[1, 2, 3, 6, 7, 7]
总结
希望本blog对你的python学习有所帮助,欢迎点赞关注~