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

2021-10-06 02:04:18 字數 943 閱讀 5410

生成器推導式建立元組

從形式上看,生成器推導式和列表推導式類似,只是生成器推導式使用小括號,列表推導式直接生成列表物件,生成器推導式生成的不是列表又不是元組,而是乙個生成器物件。

我們可以通過生成器物件,轉成列表或者元組,也可以使用生成器物件_next_()方法遍歷,或者直接使用迭代器物件來使用,不管什麼方式使用,元素訪問結束後,如果需要重新訪問其中的元素,必須重新建立該生成器物件。

例子:生成器的使用:

a=(x*2 for x in range(10))

print(a)

#返回生成器物件

>>>at 0x000001c52facc150>

print(tuple(a))

>>>(0, 2, 4, 6, 8, 10, 12, 14, 16, 18)

print(list(a)) #只能訪問一次元素,,第二次就為空,需要在生成一次

>>>

#也可以使用__next__()方法遍歷a 生成器物件

a=(x*2 for x in range(10)) #重新生成

print(a)

>>>at 0x000001c52fa9bf10>

print(a.__next__())

>>>0

print(a.__next__())

>>>2

#一直到取完,如果沒有了報錯

print(a.__next__())

>>>traceback (most recent call last):

file "", line 1, in stopiteration

元組的總結:

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

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

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

Python生成器推導式建立元組

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

python生成器推導式

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

生成器,生成器推導式和列表推導式

python社群,大部分生成器和迭代器是一種 生成器的本質是迭代器 唯一區別 生成器是我們自己用python 構建的資料結構 迭代器都是提供的,或者轉化得來的 生成器函式 生成器表示式 python提供的 yield 乙個next 對應乙個yield yield和下乙個yield中間有 的話只執行乙...