一、元組
-
什么是元祖(tuple)
python提供的容器型數(shù)據(jù)類型,不可變并且有序(元祖就是不可變的列表)
不可變 - 不支持增刪改,只支持查詢
有序 - 每個(gè)元素對(duì)應(yīng)一個(gè)確定的下標(biāo) -
字面量和元素
(元素1,元素2,元素3,······)
其中的元素可以是任何類型的數(shù)據(jù),并且類型可以不一樣,同樣的元素可以有多個(gè)point = (100 ,30) print(type(point),point) #<class 'tuple'> (100, 30)-
空的元組:()
tuple1 = () print(type(tuple1)) <class 'tuple'> -
只有一個(gè)元素的元組(必須加一個(gè)逗號(hào))
tuple2 = ('abc') print(tuple2,type(tuple2)) tuple3 = ('abc',) print(tuple3,type(tuple3)) abc <class 'str'> ('abc',) <class 'tuple'> -
直接將多個(gè)元素用逗號(hào)隔開(kāi),不加小括號(hào),表示的也是元組
tuple3 = 1,2,3 print(tuple3,type(tuple3)) (1, 2, 3) <class 'tuple'>
-
-
元組獲取元素和列表是一樣的
tuple4 = '成都', '達(dá)州', '綿陽(yáng)', '南充', '廣元' print(tuple4[1],tuple4[-1]) print(tuple4[:]) # 遍歷 for city in tuple4: print(city) for index in range(len(tuple4)): print(tuple4[index])-
特殊的獲取方式
-
變量1,變量2,..... = 元祖 -- 用前面的變量一次獲取元祖中元素的值(要求前面變量的個(gè)數(shù)和元祖的元素的個(gè)數(shù)保持一致)
point = (100,200) x, y = point # x,y = (100,200) <==> x,y = 100,200 print(x, y) -
變量1, 變量2 = 元祖 -- 通過(guò)帶的變量獲取元祖中剩余的部分
name, *scores = ('小明', 100, 89, 67, 99) print(name, scores) name, num, *scores = ('小明', 100, 89, 67, 99) print(name, num, scores) *info ,num = ('小明', 100, 89, 67, 99) print(info, num) *info ,num1, num2 = ('小明', 100, 89, 67, 99) print(info, num1, num2) info1, *nums, num1 = *info ,num = ('小明', 100, 89, 67, 99) print(nums) 小明 [100, 89, 67, 99] 小明 100 [89, 67, 99] ['小明', 100, 89, 67] 99 ['小明', 100, 89] 67 99 [100, 89, 67]注意:這個(gè)結(jié)構(gòu)中帶*的變量只能有一個(gè),不帶 * 的可以有多個(gè)
-
-
相關(guān)運(yùn)算(和列表一樣)
+,* in / not in len(), max(), min(),sum(),tuple() tuple1 = (1,2,3) tuple2 = ('aa', 'bb') print(tuple1 + tuple2) print(tuple1 * 3) (1, 2, 3, 'aa', 'bb') (1, 2, 3, 1, 2, 3, 1, 2, 3) -
排序
sorted(序列) -- 對(duì)序列中的元素排序,產(chǎn)生一個(gè)新的列表(不管是什么序列,排序完成后產(chǎn)生的都是列表)
注意:list.sorted(); -- 修改原列表中元素的順序 ,不會(huì)產(chǎn)生新的值或序列
sorted(list) -- 產(chǎn)生一個(gè)新的列表nums = (1,34,89,9) new_nums = sorted(nums) print(sorted(nums, reverse=True)) new_strs = sorted('qwertyuiopasdfghj') print(new_strs) -
join的使用
""" 字符串.join(序列) -- 將序列中的元素取出,用指定的字符串連接在一起。要求序列中的元素必須是字符串 """ new_str = ''.join(new_strs) #轉(zhuǎn)換為字符串 print(new_str,type(new_str))
-