1. 程式人生 > 實用技巧 >元組tuple

元組tuple

資料型別:int整型  float浮點數  bool布林值  str字串  list列表  tuple元組  dict字典  set集合

  可變資料型別:
    字典、列表、集合、自定義的物件等
  不可變資料型別:
    數字、字串、元組、function等

tuple(不可變資料型別)

概念:
  Python 元組 tuple() 函式將列表轉換為元組。

定義形式:
  tuple1 = ("王權富貴","東方月初")
元素的訪問:
  通過索引值訪問

注意:元組是不可變資料型別,即儲存的元素的值,不可修改,不可刪除
tuple_1 = ("王權富貴","東方月初","顏如玉")

# 訪問第一個《狐妖小紅娘》名字
print("第一個人的名字:",tuple_1[0]) # 第一個人的名字: 王權富貴 # 訪問最後一個《狐妖小紅娘》名字 print("最後一個人的名字:",tuple_1[-1]) # 最後一個人的名字: 顏如玉 print("最後一個人的名字:",tuple_1[len(tuple_1)-1]) # 最後一個人的名字: 顏如玉
遍歷列表(while迴圈、for迴圈)
tuple_1 = ("王權富貴","東方月初","顏如玉")

# 如何列印元組中所有的資料(遍歷)
# 1.使用 while迴圈
i = 0
print("使用while遍歷元組中的元素:")
while i < len(tuple_1):
    
print(tuple_1[i],end="\t") i += 1 # 2.使用第一種for迴圈 print("\n使用第一種for遍歷元組中的元素:") for i in range(len(tuple_1)): print(tuple_1[i],end="\t") # 3.使用第二種for迴圈 print("\n使用第二種for遍歷元組中的元素:") for name in tuple_1: print(name,end="\t")

操作元組常用的方法

 由於元組本身,是不可變資料型別,因此增、刪、改的操作都不能進行



AttributeError: 'tuple' object has no attribute 'append'

元組是不可變物件,不能實現插入功能

AttributeError: 'tuple' object has no attribute 'remove'
元組是不可變物件,不能實現刪除功能

TypeError: 'tuple' object does not support item assignment
元組是不可變物件,不能實現修改功能

查(index、count、in、not in )
  index()
   查詢指定元素的值,在列表中的索引值(如果有,返回索引值,沒有則報錯 ValueError)

  count()
  計算指定元素出現的次數(如果有,返回出現的次數,沒有則返回0)

  in
   返回bool值,True/False

  not in
  返回bool值,True/False
tuple_1 = ("王權富貴","東方月初","顏如玉")

# ---------------查詢操作-------------------
# index查詢指定元素的值,在列表中的索引值
print("元組元素\"東方月初\"的索引值:",tuple_1.index("東方月初"))
# count計算指定元素出現的次數
print("元組元素\"東方月初\"出現的次數:",tuple_1.count("東方月初"))
# in 與 not in
print("元組元素\"東方月初\"是否在元組裡面:","東方月初" in tuple_1)
print("元組元素\"東方月初\"是否不在元組裡面:","東方月初" not in tuple_1)

轉換:列表與元組相互轉換

list <==> tuple
tuple元組是不可變物件,但是可以轉換為list列表進行增刪改查操作(list是可變物件)
tuple_1 = ("王權富貴","東方月初","顏如玉")

# 將元組和列表相互轉換
list_1 = list(tuple_1)
print("list_1 = {0}\t 資料型別為:{1}".format(list_1, type(list_1)))
list_1.append("律箋文")
list_1.append("塗山古情巨樹")
print("list_1 = {0}\t 資料型別為:{1}".format(list_1, type(list_1)))
tuple_1 = tuple(list_1)
print("tuple_1 = {0}\t 資料型別為:{1}".format(tuple_1,type(tuple_1)))