資料型別詳解 元組

2021-10-07 15:23:23 字數 1491 閱讀 7837

元組和列表一樣都是一組有序的資料的組合。

元組中的元素一但定義不可以修改,因此元組稱為 不可變資料型別

由於元組是不可變的資料型別,因次只能使用索引進行訪問,不能進行其它操作

元組可以和列表一樣使用切片方式獲取元素

元組的切片操作 和列表是一樣的

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 ...