Python生成器推導式建立元組

2021-09-26 18:46:42 字數 771 閱讀 4112

從形式上看,生成器推導式與列表推導式類似,只是生成器推導式使用小括號。列表推

導式直接生成列表物件,生成器推導式生成的不是列表也不是元組,而是乙個生成器物件。

我們可以通過生成器物件,轉化成列表或者元組。也可以使用生成器物件的__next__()

方法進行遍歷,或者直接作為迭代器物件來使用。不管什麼方式使用,元素訪問結束後,如

果需要重新訪問其中的元素,必須重新建立該生成器物件。

s=(x*2 for x in range(3))

print(s)  #結果:at 0x00000212cb922150>

#生成器推導式生成的是生成器物件,還不是元組物件

a=tuple(s)

print(a)  #結果:(0, 2, 4)

b=tuple(s)

print(b)  #結果:(),生成器推導式只能迭代一次

m=(x*2 for x in range(3))

print(m.__next__())  #結果:0

print(m.__next__())  #結果:2

print(m.__next__())  #結果:4

print(m.__next__())  #結果報錯stopiteration,因為迭代完生成器推導式物件後指標就移動到最後一位了,當再次迭代時就會報錯

元組總結:

1. 元組的核心特點是:不可變序列。

2. 元組的訪問和處理速度比列表快。

3. 與整數和字串一樣,元組可以作為字典的鍵,列表則永遠不能作為字典的鍵使用。

Python元組 生成器推導式建立元組

生成器推導式建立元組 從形式上看,生成器推導式和列表推導式類似,只是生成器推導式使用小括號,列表推導式直接生成列表物件,生成器推導式生成的不是列表又不是元組,而是乙個生成器物件。我們可以通過生成器物件,轉成列表或者元組,也可以使用生成器物件 next 方法遍歷,或者直接使用迭代器物件來使用,不管什麼...

34 生成器推導式建立元組

從形式上看,生成器推導式與列表推導式類似,只是生成器推導式使用小括號。列表推 導式直接生成列表物件,生成器推導式生成的不是列表也不是元組,而是乙個生成器物件。我們可以通過生成器物件,轉化成列表或者元組。也可以使用生成器物件的 next 方法進行遍歷,或者直接作為迭代器物件來使用。不管什麼方式使用,元...

python生成器推導式

1.生成器推導式是繼列表推導式後的有一中python推導式,他比列表推導式速度更快,占用的記憶體也更少。2.使用生成器物件時,可以根據需要將他轉化為列表或者元組,也可以是喲個生成器對像 next 方法或內建函式next 進行遍歷,其具有惰性求值的特點,進行一次遍歷後便不能再次方位內部元素,即訪問一次...