Python——元组

一、元组特性介绍

  •         元组和列表⼀样,也是⼀种序列类型的数据。
  •         唯⼀的不同是,元组是相对不可变的。

二、⾼效创建元组

In [1]: t1 = ()    # 创建 空 元素的元组

In [2]: type(t1)
Out[2]: tuple

        有元素的元组实际上是使⽤英⽂的逗号创建的

In [3]: n = (3)

In [4]: n
Out[4]: 3

In [5]: type(n)
Out[5]: int

In [6]: t = 3,

In [7]: t
Out[7]: (3,)

In [8]: type(t)
Out[8]: tuple

Python——元组_第1张图片 

        创建⾮空元素的元组是⽤逗号 ,⽽不是⽤⼩括号 

 三、转换

        tuple() 可以对其他序列类型的数据转换为元组。

In [9]: s1 = 'car'

In [10]: s1
Out[10]: 'car'

In [11]: list(s1)
Out[11]: ['c', 'a', 'r']

In [12]: tuple(s1)
Out[12]: ('c', 'a', 'r')

In [13]: t2 = tuple(s1)

In [14]: t2
Out[14]: ('c', 'a', 'r')

In [15]: tuple([1,2,3])
Out[15]: (1, 2, 3)

Python——元组_第2张图片 

四、元组的取值

        元组也是序列类型的数据,取值和切⽚和列表的操作⼀样

In [20]: t1 = (1,2,3, ['a','b'],'liang')

In [21]: t1
Out[21]: (1, 2, 3, ['a', 'b'], 'liang')

In [22]: t1[-1]
Out[22]: 'liang'

In [23]: t1[-2]
Out[23]: ['a', 'b']

In [24]: t1[-2][-1]
Out[24]: 'b'

In [25]: t1[1:-1]
Out[25]: (2, 3, ['a', 'b'])

In [26]: t1[3:-4]
Out[26]: ()

In [27]: t1[3:4]
Out[27]: (['a', 'b'],)

Python——元组_第3张图片 

五、元组的⽅法

        count 统计⼀个元素在元组内出现的次数

        index 返回⼀个元素在元组内的索引

In [20]: t1 = (1,2,3, ['a','b'],'liang')

In [28]: t1.             # 按 Tab 键
         count() index()     # 可以看出没有可以改变其⾃身的⽅法

In [28]: t1.count(1)
Out[28]: 1

In [29]: t1.count(10)
Out[29]: 0

In [30]: t1.index(1)
Out[30]: 0

In [31]: t1.index(3)
Out[31]: 2

Python——元组_第4张图片 

六、元组的相对不可变

        元组本身是不可变的,就是元组内的元素是不可变的,⼀旦创建⼀个元组,这个元组内的元素个数和数据都是固定的了 相对不可变的意思是,元组内的元素⾃身是可变的数据对象,就可以通过修改这个可变元素,来间接改变元组的样⼦。

        内置函数 id() , 这个函数可以返回python 中⼀个对象的内存地址(id 号)

In [32]: id('hello')
Out[32]: 140096984653232

In [33]: t1
Out[33]: (1, 2, 3, ['a', 'b'], 'liang')

In [34]: id(t1)
Out[34]: 140097075906512

        接下来就来验证元组是相对不可变的

        假设我想把上个示例中的元组 t1 中列表元素‘b’删除

In [35]: t1[-2]
Out[35]: ['a', 'b']

In [36]: id(t1[-2])        # 改变前的 id
Out[36]: 140097076313776

In [37]: t1[-2]
Out[37]: ['a', 'b']

In [39]: t1[-2].pop()
Out[39]: 'b'

In [40]: t1
Out[40]: (1, 2, 3, ['a'], 'liang')

In [41]: id(t1[-2])        # 改变后的 id
Out[41]: 140097076313776

Python——元组_第5张图片 

七、for 循环元组

In [43]: t = ('liang',1314,521)

In [44]: for i in t:
    ...:     print(i)
    ...: 
#结果
liang
1314
521

In [45]: 

Python——元组_第6张图片 

八、元组的优点

  •         占⽤内存空间⼩
  •         元组内的值不会被意外的修改
  •         可作为字典的键
  •         函数的参数是以元组形式传递的

你可能感兴趣的:(python,python,开发语言,ipython,linux)