跳至主要內容

元组tuple

刘春龙原创...大约 2 分钟Python教程文档

列表属于可变序列,可以任意修改列表中的元素。

元组属于不可变序列,不能修改元组中的元素。因此,元组没有增加元素、修改元素、删除元素相关的方法。

元组的创建

通过()创建元组。小括号可以省略。 a = (10,20,30) 或者 a = 10,20,30

提示

如果元组只有一个元素,则必须后面加逗号。这是因为解释器会把(1)解释为整数 1,(1,)解释为元组。

a = (1)
type(a) # <class 'int'>
a = (1,)   #或者  a = 1,
type(a) # <class 'tuple'>

元组的元素访问和计数

  • 元组的元素不能修改

    a = (20,10,30,9,8)
    a[3]=33 # TypeError: 'tuple' object does not support item assignment
    
  • 元组的元素访问、index()、count()、切片等操作,和列表一样。

    a = (20, 10, 30, 9, 8)
    a[1]  # 10
    a[1:3]  # (10, 30)
    a[:4]  # (20, 10, 30, 9)
    
  • 列表关于排序的方法 list.sorted()是修改原列表对象,元组没有该方法。如果要对元组排序,只能使用内置函数 sorted(tupleObj),并生成新的列表对象。

    a = (20,10,30,9,8)
    b = sorted(a)  #b是新对象,内容是:[8, 9, 10, 20, 30]
    

zip

zip(列表 1,列表 2,...)将多个列表对应位置的元素组合成为元组,并返回这个 zip 对象。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同

a = [10,20,30]
b = [40,50,60]
c = [70,80,90,100]
d = zip(a,b,c)
print(d)  # <zip object at 0x000001FC23FE1C80>
e = list(d)
print(e) #列表:[(10, 40, 70), (20, 50, 80), (30, 60, 90)]

元组总结

  • 元组的核心特点是:不可变序列。
  • 元组的访问和处理速度比列表快。
  • 与整数和字符串一样,元组可以作为字典的键,列表则永远不能作为字典的键使用。
上次编辑于:
贡献者: 刘春龙
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.7