Python基礎之元組的知識,包括 元組初識,元組操作函數,元組其他擴展。其中,元組初識包括 認識元組,元組的作用和定義語法,定義元組和取值;元組操作函數 包括 查看元組操作函數,取值和取索引,統計計數;元組其他擴展 包括 元組 迴圈遍歷,元組應用場景,元組和格式化字元串,元組和列表之間的轉換等 ...
元組初識
元組的認識
首先,我們來認識一下元組:
# 定義一個元組
uesr_tuple = ("zhangsan", "lisi", "wangwu")
# 定義一個空元組
empty_tuple = ()
元組的作用和定義
- 通過前面的學習,我們知道,列表通常用來存儲相同類型的數據;而元組在實際開發中,通常用來存儲不同類型的數據。
- 元組(Tuple)與列表相似,不同之處在於元組的元素不能修改;
- 元組表示多個元素組成的序列;用於存儲一串信息,不同數據之間用逗號隔開;
- 元組的索引從0開始;
元組的定義語法
變數名 = (數據1, 數據2, 數據3,...)
eg:
uesr_tuple = ("zhangsan", "lisi", "wangwu")
定義元組和取值
# 定義一個常規元組
user_tuple = ("xiaoming", 18, 175)
# 註意,取值時,索引不能超過元組的元素數量範圍,否則報錯
user_tuple[0]
'xiaoming'
user_tuple[2]
175
# 定義空元組;
empty_tuple = ()
type(empty_tuple) # tuple
# 定義一個單元素元組;
# 如果元組中只有一個數據,要在那一個數據後面加逗號,否則該元組變數會被python解釋器認為是括弧內數據的數據類型;
single_tuple = (5)
type(single_tuple) # int
single_tuple = (5,)
type(single_tuple) # tuple
元組的操作函數
查看元組操作函數
在ipython互動式下,新建一個元組empty_tuple;empty_tuple. 按一下tab鍵,即可查看元組函數
In [1]: t_tuple = ()
In [2]: t_tuple.
t_tuple.count t_tuple.index
In [2]: t_tuple.
由此可見,元組自帶的操作函數只有兩個:
t_tuple.count t_tuple.index
取值和取索引(index)
user_info = ("xiaoming", 20, 181, "xiaoming")
print(user_info[1]) # 10
# 已經知道元組內容,希望獲取該內容在元組中的位置
# 如果有兩個相同的數據,取索引會取出現的第一個
print(user_info.index("xiaoming")) # 0
統計計數(count,len)
user_info = ("xiaoming", 20, 181, "xiaoming")
# 使用元組自帶的函數統計元素出現個數
print(user_info.count("xiaoming")) # 2
# 使用關鍵字 統計元組中的元素個數
print(len(user_info)) # 4
元組其他擴展
元組 迴圈遍歷
元組遍歷就是 從頭到尾 依次從元組中取數據;
每次迴圈都將 從元組中順序的讀取出來的數據放在臨時變數中,然後執行相同的操作。
使用for進行迭代遍歷。
user_tuple = ["zhangsan", 20, 181]
for i in user_tuple:
# 因為通常元組的元素數據類型不同,所以一般很少遍歷元組做操作,
# 除非確定元組中每一個元素的數據類型
print(i)
在Python中,可以使用for迴圈遍歷所有非數字型類型的變數:列表,元組,字典以及字元串;
元組應用場景
- 函數的參數和返回值;一個函數可以接收任意多個參數,或者一次返回多個數據。
- 格式字元串,格式化字元串後面的()本質上就是一個元組。
- 保護數據安全,列表不能被修改。
元組和格式化字元串
格式化後面的括弧和內容,本質上就是元組;我們可以先定義一個元組,然後在格式化後面%元組,一樣能輸出;
同時,我們甚至可以將print括弧裡面的函數拿出來,定義成一個變數,再用print輸出。
# 四者的輸出結果都一樣
# zhangsan 的年齡是 20, 身高是 181
name = "zhangsan"
age = 20
height = 181
print("%s 的年齡是 %d, 身高是 %d" % (name, age, height))
userinfo = ("zhangsan", 20, 181)
print("%s 的年齡是 %d, 身高是 %d" % (userinfo[0], userinfo[1], userinfo[2]))
# 也可以這樣玩
print("%s 的年齡是 %d, 身高是 %d" % userinfo)
# 還可以這樣玩
info = "%s 的年齡是 %d, 身高是 %d" % userinfo
print(info)
元組和列表之間的轉換
元組轉列表:list()
列表轉元組:tuple()
num_list = [2,1,4,3]
type(num_list) # list
num_tuple = tuple(num_list)
type(num_tuple) # tuple
num_list2 = list(num_tuple)
type(num_list2) # list