在python中,元组是不可变类型
可通过以下案例说明:
>>> c1 = ['1','2']
>>> c = (1,2,c1)
>>> c
(1, 2, ['1', '2'])
>>> id(c)
2108634551928
>>> c1[1] = '3'
>>> c
(1, 2, ['1', '3'])
>>> id(c)
2108634551928
我们可以发现,虽然元组数据发生改变,但是内存地址没有发生了改变,但是我们不可以以此来判定元组就是可变数据类型。我们回头仔细想想元组的定义就是不可变的。我们修改了元组中列表的值,但是因为列表是可变数据类型,所以虽然在列表中更改了值,但是列表的地址没有改变,列表在元组中的地址的值没有改变,所以也就意味着元组没有发生变化。我们就可以认为元组是不可变数据类型,因为元组是不可变的。
元组的操作非常简单
统计元素出现次数:
>>> tup = (1, 2, 2, 4)
>>> tup.count(2)
2
查指定元素的index
>>> tup = (1, 2, 2, 4)
>>> tup.index(2)
1
>>> tup.index(2, 2, 4) #指定位置查询
2