元組 tuple
元組是不可改變的序列,同list(列表)一樣,元組是可以存入任意類型數據的容器
元組的表示方式
用小括號()括起來,單個元素括起來后加逗號(,)區分單個對象還是元組
創建空元組的字面值
t = ()
創建非空元組的字面值
t = 200, # 不等同於 t = 200 t =(20,) t = (1,2,3) t = 100,200,300 # 注: type(x) # 函數用來返回x的類型
元組創建的錯誤示例
t = (20) # t 綁定20這個整數,不是綁定元組 x,y,z = 100,200,300, # 序列賦值,不是元組 x,y,z = (100,200,300) x,y,z = (100,200,300) x,y,z = "ABC" # 序列賦值,不是元組
元組的構造函數(創建)函數 tuple
tuple() # 生成一個空的元組,等用於() tuple(iterable) # 用可迭代對象生成一個元組 # 示例: t = tuple() 創建空元組,等同於 t = () t = tuple(range(1,10,3)) #創建非空元組
元組的運算:
運算符
# 運算符 + += * *= # + 加號同於拼接 t = (1,2,3)+(4,5,6) # t = (1,2,3,4,5,6) # += 拼接后再復制 x = (1,2,3) y = (4,5,6) x+=y #等同於 x = x + y # 注:
# 因為元組不可變,加后的ID會發生變化 # * 生成重復的元組 # *= 生成重復的元組再重新賦值綁定 x = (1,2)*3 print("x=",x) x = (1,2,3) x *= 2 # x = (1,2,3,1,2,3)
元組的比較運算
# 運算符: < <= > >= == != # 說明: # 元組比較規則和列表比較規則完全相同
# in / not in 運算符: x = (1,"tow",3)2 in x #False 3 in x #True 5 in x #False 5 not in x # True
元組的切片和索引
# 索引 index # 用法等同於列表的索引 可以查詢元組中的元素 # 元組不能索引賦值 # 切片 slice # 用法等同於列表的切片,元組的切片返回一個新的元組 可以切到某個元素查看 # 元組不能切片賦值
元組的方法
# 方法 # 說明 T.index(v [, begin[, end]]) # 返回對應元素的索引下標, begin為開始索引,end為結束索引,當 value 不存在時觸發ValueError錯誤 T.count(x) # 返回元組中對應元素的個數
序列相關的函數總結
# 以下函數可以用於序列: 字符串 列表 元組 len(x),max(x),min(x),sum(x),any(x),all(x)
構造函數:
str(x)(字符串) list(x)(列表) tuple(x)(元組) reversed(x),sorted(x,reverse=False)
# 方法1 t =() for x in tuple(range(1,10)): t += (x**2,) print(t) # 方法2 l = [x**2 for x in range(1,10)] t = tuple(l) print(t) # 方法3 t = tuple(x**2 for x in range(1,10)) print(t)