python之元组tuple

Love The Way You Lie 2023-01-23 03:59 28阅读 0赞

Python中的元组,元组中包含的数据类型不必一致

  1. >>> t = ('as', 12, 1.2)
  2. >>> t
  3. ('as', 12, 1.2)
  4. >>>

元组是静态的,长度大小固定,无法增加删减或者改变(immutable)

  1. >>> t = (1, 2, 3, 4)
  2. >>> t[0] = 0
  3. Traceback (most recent call last):
  4. File "<stdin>", line 1, in <module>
  5. TypeError: 'tuple' object does not support item assignment
  6. >>>

对元组的某个元素进行修改操作,Python 就会报错,原因就是元组是不可变的。

如果想对已有的元组做任何”改变”,此时只能重新开辟一块内存,创建新的元组了

  1. >>> t = (1, 2, 3, 4)
  2. >>> t
  3. (1, 2, 3, 4)
  4. >>> new_t = t + (5,)
  5. >>> new_t
  6. (1, 2, 3, 4, 5)
  7. >>> t
  8. (1, 2, 3, 4)
  9. >>>

我们想增加一个元素 5 给元组,实际上就是创建了一个新的元组,然后把原来两个元组的值依次填充进去。

元组也支持负数索引,,-1 表示最后一个元素,-2 表示倒数第二个元素,以此类推。

  1. >>> t = (1, 2, 3)
  2. >>> t
  3. (1, 2, 3)
  4. >>> t[-1]
  5. 3
  6. >>>

元组也支持切片操作,

  1. >>> t = (1, 2, 3)
  2. >>> t
  3. (1, 2, 3)
  4. >>> t[1:3] # 返回元组中索引从1到3(不包括3)的子元组
  5. (2, 3)
  6. >>>

元组也可以随意嵌套

  1. >>> tup = ((1, 2, 3), (4, 5, 6), [1, 2]) # 元组的三个元素分别为元组、元组、list
  2. >>> tup
  3. ((1, 2, 3), (4, 5, 6), [1, 2])
  4. >>>

元组可以通过list()转换为列表

  1. >>> tup = ((1, 2, 3), (4, 5, 6), [1, 2])
  2. >>> tup
  3. ((1, 2, 3), (4, 5, 6), [1, 2])
  4. >>> list(tup)
  5. [(1, 2, 3), (4, 5, 6), [1, 2]]
  6. >>>

元组常用的内置函数主要有count(),index(),sorted(),reversed():

count(item) 表示统计元组中 item 出现的次数。
index(item) 表示返回元组中 item 第一次出现的索引。
reversed() 和 sorted()表示对 元组进行倒转和排序,reversed() 返回一个倒
转后的迭代器(可使用 list() 函数再将其转换为列表);sorted() 返回排好序的新
列表。

  1. >>> t = (1, 2, 3, 3, 5)
  2. >>> t.count(3)
  3. 2
  4. >>> t.count(4)
  5. 0
  6. >>>
  7. >>> t.index(5)
  8. 4
  9. >>> reversed(t)
  10. <reversed object at 0x00000284CB665FA0>
  11. >>> list(reversed(t))
  12. [5, 3, 3, 2, 1]
  13. >>> t
  14. (1, 2, 3, 3, 5)
  15. >>> sorted(t)
  16. [1, 2, 3, 3, 5]
  17. >>> t
  18. (1, 2, 3, 3, 5)
  19. >>>

由于元组的长度大小是固定的,元素不可变,所以其存储空间是固定的。

发表评论

表情:
评论列表 (有 0 条评论,28人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Python (Tuple)操作

    Python的元组与列表类似,不同之处在于元组的元素不能修改,元组使用小括号,列表使用方括号,元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可 一、创建元组 代码