bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

如何在Python中操作可迭代對象-創(chuàng)新互聯(lián)

這期內容當中小編將會給大家?guī)碛嘘P如何在Python中操作可迭代對象,文章內容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名與空間、虛擬空間、營銷軟件、網站建設、山東網站維護、網站推廣。

1、列表生成式

list = [result for x in range(m, n)]
g1 = (i for i in range(101))
print(type(g1))
print(g1)
print(g1.__next__())

輸出:

<class 'generator'>
<generator object <genexpr> at 0x0000024E6AC08F10>
0

g1 = (i for i in range(11))
list1 = [i for i in g1]
print(list1)

輸出:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

2、可迭代對象

①.可以直接作用于for循環(huán)的對象統(tǒng)稱為可迭代對象,我們稱之為:Iterator

②.我們可以使用isintance()判斷一個對象是否是Iterator對象

③.可以直接作用于for循環(huán)的數據類型有以下幾種

a.集合數據類型:如list、tuple、dict、set和string
b.生成器(generator):就是一個能返回迭代器的函數,其實就是定義一個迭代算法,可以理解為一個特殊的迭代器。

生成器:

通過列表生成式,我們可以直接創(chuàng)建一個列表,但是,受到內存限制,列表容量肯定是有限的,如果我們僅僅需要訪問前面幾個元素,如果列表元素可以按照某種算法推算出來,那我們是否可以在循環(huán)的過程中不斷推算出后續(xù)的元素呢?這樣就不必創(chuàng)建完整的list,從而節(jié)省大量的空間。在Python中,這種一邊循環(huán)一邊計算的機制,稱為生成器(Generator)

要創(chuàng)建一個generator,有很多種方法。第一種方法很簡單,只要把一個列表生成式的[]改成(),就創(chuàng)建了一個generator。

g1 = (i for i in range(11))
print(g1)
for i in range(11):
  print(next(g1),end='\t')

輸出:

<generator object <genexpr> at 0x00000207F5C69678>
0   1   2   3   4   5   6   7   8   9   10

注意:使用Iterator判斷的時候需要導入Iterable的包

from collections import Iterable
print(isinstance([],Iterable))
print(isinstance((),Iterable))
print(isinstance("",Iterable))
print(isinstance({},Iterable))
print(isinstance({1,2,3},Iterable))
print({1,2,3})
print(isinstance(1,Iterable))
print(isinstance(1.2,Iterable))
g1 = (i for i in range(101))
print(isinstance(g1,Iterable))

輸出:

True
True
True
True
True
{1, 2, 3}
False
False
True

3、迭代器

迭代器:不但可以作用于for循環(huán),還可以被next()函數不斷調用并返回下一個值,

直到最后出現StopIteration錯誤,表示無法返回下一個值

可以被next()函數調用并不斷返回下一個值的對象稱為迭代器(Iterator對象)

可以使用isinstance()函數判斷一個對象是否是Iterator對象。

注意:可迭代對象不一定是迭代器,但是迭代器一定是迭代對象。

可迭代對象與迭代器的關系:

可迭代對象包含迭代器

from collections import Iterator
print(isinstance([],Iterator))
print(isinstance((),Iterator))
print(isinstance("",Iterator))
print(isinstance({},Iterator))
print(isinstance({1,2,3},Iterator))
print({1,2,3})
print(isinstance(1,Iterator))
print(isinstance(1.2,Iterator))
g1 = (i for i in range(101))
print(isinstance(g1,Iterator))

輸出:

False
False
False
False
False
{1, 2, 3}
False
False
True

4、 Iterator轉換

可以通過Iter()函數將list、tuple、dict、string轉換為Iterator對象。

from collections import Iterator
list1 = [i for i in range(11)]
print(isinstance(list1,Iterator))
iter1 = iter(list1)
print(isinstance(iter1,Iterator))
for i in range(11):
  print(next(iter1),end='\t')

輸出:

False
True
0   1   2   3   4   5   6   7   8   9   10

上述就是小編為大家分享的如何在Python中操作可迭代對象了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當前題目:如何在Python中操作可迭代對象-創(chuàng)新互聯(lián)
本文來源:http://vcdvsql.cn/article28/ddgjjp.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供手機網站建設搜索引擎優(yōu)化ChatGPT網站設計微信公眾號外貿建站

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

外貿網站制作