元組、生成器推導式創建元組

生成器推導式創建元組

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

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

例子:生成器的使用:

a=(x*2 for x in range(10))
print(a) 
#返回生成器對象
>>><generator object <genexpr> 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)
>>><generator object <genexpr> at 0x000001C52FA9BF10>
print(a.__next__())
>>>0
print(a.__next__())
>>>2
#一直到取完,如果沒有了報錯
print(a.__next__())
>>>Traceback (most recent call last):
  File "<input>", line 1, in <module>
  StopIteration

元組的總結:

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

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

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章