python3 元組的特性
1.不可變資料型別與可變資料型別
數值型,字串,bool都是不可變資料型別
list是可變資料型別:<有增刪改查>
資料型別含有:int,float,complex(複數),str,list,bool
2.元組的英文tuple,定義元組:空元組,單個值元組,普通元組
元組建立很簡單,只需要在括號中新增元素,並使用逗號隔開即可;
tuple = ("hello") #字串
print(type(tuple))
tuple1 = ("python",) #單個值元組
print(type(tuple1))
tuple2 = () #空元組
print(type(tuple2))
tuple3 = (2,"hello",[1,2,3]) #普通元組
print(type(tuple3))
3.元組的索引
t = (1, 2, 3, "hello")
print(type(t))
輸出結果:<class 'tuple'>
print(t[0]) #列印元組的第一個元素
輸出結果:1
4.元組進行切片
print(t[1:]) #列印元組除第一個元素的其他元素
輸出結果:(2, 3, 'hello')
print(t[:-1]) #列印元組除了最後一個元素的其他元素
輸出結果:(1, 2, 3)
print(t[::-1]) #反轉元素
輸出結果:('hello', 3, 2, 1)
5.元組可以重複
t = (1, 2, 3, "hello")
print(t*3) #重複出現三次
輸出結果:(1, 2, 3, 'hello', 1, 2, 3, 'hello', 1, 2, 3, 'hello')
元組不能和其他字串,列表進行連線,只能和元組進行連線
print(t+[5,6,7])
報錯:TypeError: can only concatenate tuple (not "list") to tuple
print(t+(5,6,7))
輸出結果:(1, 2, 3, 'hello', 5, 6, 7)
.如果想要將列表與元組連線,可以將列表強制轉化為元組,然後在進行連線
print(t+tuple([5,6,7]))
輸出結果:(1, 2, 3, 'hello', 5, 6, 7)
6,元組可以進行成員操作符;
print("hello" in t)
輸出結果:True
print("hello" not in t)
輸出結果:False
7.列舉:將字串裡面的元素與索引值一一對應;enumerate(專業術語:列舉)
for index,item in enumerate(t):
print(index,item)
輸出結果:
0 1
1 2
2 3
3 hello
如果希望知道某元素在第幾位,按順序排列,給索引值加一
print(index+1,item)
輸出結果:
1 1
2 2
3 3
4 helllo
8, x, y = y, x的賦值過程
x = int(input("請輸入x變數的值:"))
y = int(input("請輸入y變數的值:"))
tuple = (y , x)
x = tuple[0]
y = tuple[1]
print("x,y的值分別為:%d,%d"%(x,y))
另外方法:
tuple = ("prthon" , "java")
print("hello %s, hello %s"%(tuple[0],tuple[1])) #下面公式可以分解為該公式;
print("hello %s, hello %s" %(tuple))
9.元組的賦值
tuple = ("xiaoming", 18, 50)
name, age, weight = tuple
print(name, age, weight)
輸出結果:xiaoming 18 50
10.列表的賦值
list = ["xiaoming", 18, 50] ###注意賦值只能一一對應,不能缺少也不能多處,否則會報錯
name, age, weight = list
print(name, age, weight)
輸出結果:xiaoming 18 50
11,元組中的元素是不允許修改的,可以將兩個yuan元素合併為一個新的元素
t1 = (1,2,3,"hello") t2 = ("xiaoming", 18, 50) t3 = t1 + t2 print(t3) 輸出結果:(1, 2, 3, 'hello', 'xiaoming', 18, 50)
12,刪除元組
元組中的元素值是不允許刪除的,但我們可以使用del語句來刪除整個元組
t1 = (1,2,3,"hello") t2 = ("xiaoming", 18, 50) del t2 print(t1) print(t2) 輸出結果為: (1, 2, 3, 'hello') NameError: name 't2' is not defined