元組和列表一樣都是一組有序的資料的組合。
元組中的元素一但定義不可以修改,因此元組稱為 不可變資料型別
由於元組是不可變的資料型別,因次只能使用索引進行訪問,不能進行其它操作
元組可以和列表一樣使用切片方式獲取元素
元組的切片操作 和列表是一樣的
vart = (1,2,3,4,5,6,7,8,9,8,7,5,4)
res = vart[:] # 獲取全部
res = vart[::] # 獲取全部
res = vart[1:] # 從索引1開始獲取到最後
res = vart[1:6] # 從索引1開始到索引6之前
res = vart[:5] # 從索引 0 開始 到 索引 5之前
res = vart[1:7:3] # 從索引1開始到索引7之前,步進值為3
res = vart[::3] # 從索引 0 開始 到 最後 ,步進值為3
res = vart[10:1:-2] # 從索引10開始 到索引 1,步進值為-2 倒著輸出
列表推導式結果返回了乙個列表,元組推導式返回的是生成器
語法:
列表推導式 ==> [變數運算 for i in 容器] ==> 結果 是乙個 列表
元組推導式 ==> (變數運算 for i in 容器) ==> 結果 是乙個 生成器
生成器是乙個特殊的迭代器,生成器可以自定義,也可以使用元組推導式去定義
生成器是按照某種演算法去推算下乙個資料或結果,只需要往記憶體中儲存乙個生成器,節約記憶體消耗,提公升效能
裡面是推導式,外面是乙個() 的結果就是乙個生成器
自定義生成器,含有yield關鍵字的函式就是生成器
含有yield關鍵字的函式,返回的結果是乙個迭代器,換句話說,生成器函式就是乙個返回迭代器的函式
生成器是迭代器的一種,因此可以使用迭代器的操作方法來操作生成器
# 列表推導式
varlist = [1,2,3,4,5,6,7,8,9]
# newlist = [i**2 for i in varlist]
# print(newlist) # [1, 4, 9, 16, 25, 36, 49, 64, 81]
# 元組推導式 生成器 generator
newt = (i**2 for i in varlist)
print(newt) # at 0x1104cd4d0>
# 使用next函式去呼叫
# print(next(newt))
# print(next(newt))
# 使用list或tuple函式進行操作
# print(list(newt))
# print(tuple(newt))
# 使用 for 進行遍歷
# for i in newt:
# print(i)
python 元組資料型別
如何定義乙個空元組,請使用兩種方式來定義 tuple 定義乙個元組,它只有乙個資料,資料的值是3 3,定義乙個元組,它有多個資料,資料分別是 hello python world hello python world 如何將列表轉換為元組,請寫出格式 得到的元組 tuple 列表 如何將元組轉換為列...
python資料型別(元組)
在這裡插入 片 元組 2,元組的操作 3,如何遍歷元祖 小結元組是乙個不可修改的,元素以逗號分隔的以小括號包圍的有序序列,可以將元組看成乙個不可修改的列表。格式 變數名 元素1,元素2,建立乙個元組列印並檢視資料型別 a 小啦 小小 小娜 小聞 print a 小啦 小小 小娜 小聞 print t...
資料型別之元組
元組 1.元組書寫規範 users 11,22,33,sundy 列表 可變 users 11,22,33,sundy 元組 不可變 2.獨有功能 無 3.公共功能 1.索引 排除 int bool 示例 users 11,22,33,sundy print users 0 print users ...