>>name_str="qiwsir">>>foriinname_str:#可以對str使用for循環...printi,...qiwsir>>>name_list=list(name_str)>>>name_list['q','i'," />

欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

跟老齊學Python之for循環語句

系統 1879 0

廢話少說,上干活。

for的基本操作

for是用來循環的,是從某個對象那里依次將元素讀取出來。看下面的例子,將已經學習過的數據對象用for循環一下,看看哪些能夠使用,哪些不能使用。同時也是復習一下過往的內容。

復制代碼 代碼如下:

>>> name_str = "qiwsir"
>>> for i in name_str:? #可以對str使用for循環
...???? print i,
...????????????????????
q i w s i r

>>> name_list = list(name_str)
>>> name_list
['q', 'i', 'w', 's', 'i', 'r']
>>> for i in name_list:???? #對list也能用
...???? print i,
...
q i w s i r

>>> name_set = set(name_str)??? #set還可以用
>>> name_set
set(['q', 'i', 's', 'r', 'w'])
>>> for i in name_set:
...???? print i,
...
q i s r w

>>> name_tuple = tuple(name_str)
>>> name_tuple
('q', 'i', 'w', 's', 'i', 'r')
>>> for i in name_tuple:??????? #tuple也能呀
...???? print i,
...
q i w s i r

>>> name_dict={"name":"qiwsir","lang":"python","website":"qiwsir.github.io"}
>>> for i in name_dict:???????????? #dict也不例外
...???? print i,"-->",name_dict[i]
...
lang --> python
website --> qiwsir.github.io
name --> qiwsir

除了上面的數據類型之外,對文件也能夠用for,這在前面有專門的《不要紅頭文件》兩篇文章講解有關如何用for來讀取文件對象的內容。看官若忘記了,可去瀏覽。

for在list解析中,用途也不可小覷,這在講解list解析的時候,業已說明,不過,還是再復習一下為好,所謂學而時常復習之,不亦哈哈乎。

復制代碼 代碼如下:

>>> one = range(1,9)????????
>>> one
[1, 2, 3, 4, 5, 6, 7, 8]
>>> [ x for x in one if x%2==0 ]
[2, 4, 6, 8]

什么也不說了,list解析的強悍,在以后的學習中會越來越體會到的,佩服佩服呀。

列位如果用python3,會發現字典解析、元組解析也是奇妙的呀。

要上升一個檔次,就得進行概括。將上面所說的for循環,概括一下,就是下圖所示:

請輸入圖片描述

用一個文字表述:

復制代碼 代碼如下:

for iterating_var in sequence:
??? statements

iterating_var是對象sequence的迭代變量,也就是sequence必須是一個能夠有某種序列的對象,特別注意沒某種序列,就是說能夠按照一定的腳標獲取元素。當然,文件對象屬于序列,我們沒有用腳標去獲取每行,如果把它讀取出來,因為也是一個str,所以依然可以用腳標讀取其內容。

zip

zip是什么東西?在交互模式下用help(zip),得到官方文檔是:

zip(...)
zip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)]
Return a list of tuples, where each tuple contains the i-th element from each of the argument sequences. The returned list is truncated in length to the length of the shortest argument sequence.
通過實驗來理解上面的文檔:

復制代碼 代碼如下:

>>> a = "qiwsir"
>>> b = "github"
>>> zip(a,b)
[('q', 'g'), ('i', 'i'), ('w', 't'), ('s', 'h'), ('i', 'u'), ('r', 'b')]
>>> c = [1,2,3]
>>> d = [9,8,7,6]
>>> zip(c,d)
[(1, 9), (2, 8), (3, 7)]
>>> e = (1,2,3)
>>> f = (9,8)
>>> zip(e,f)
[(1, 9), (2, 8)]

>>> m = {"name","lang"}?
>>> n = {"qiwsir","python"}
>>> zip(m,n)
[('lang', 'python'), ('name', 'qiwsir')]
>>> s = {"name":"qiwsir"}
>>> t = {"lang":"python"}
>>> zip(s,t)
[('name', 'lang')]

zip是一個內置函數,它的參數必須是某種序列數據類型,如果是字典,那么鍵視為序列。然后將序列對應的元素依次組成元組,做為一個list的元素。

下面是比較特殊的情況,參數是一個序列數據的時候,生成的結果樣子:

復制代碼 代碼如下:

>>> a?
'qiwsir'
>>> c?
[1, 2, 3]
>>> zip(c)
[(1,), (2,), (3,)]
>>> zip(a)
[('q',), ('i',), ('w',), ('s',), ('i',), ('r',)]

這個函數和for連用,就是實現了:

復制代碼 代碼如下:

>>> c
[1, 2, 3]
>>> d
[9, 8, 7, 6]
>>> for x,y in zip(c,d):??? #實現一對一對地打印
...???? print x,y
...
1 9
2 8
3 7
>>> for x,y in zip(c,d):??? #把兩個list中的對應量上下相加。
...???? print x+y
...
10
10
10

上面這個相加的功能,如果不用zip,還可以這么寫:

復制代碼 代碼如下:

>>> length = len(c) if len(c)
>>> for i in range(length):
...???? print c[i]+d[i]
...
10
10
10

以上兩種寫法那個更好呢?前者?后者?哈哈。我看差不多了。還可以這么做呢:

復制代碼 代碼如下:

>>> [ x+y for x,y in zip(c,d) ]
[10, 10, 10]

前面多次說了,list解析強悍呀。當然,還可以這樣的:

復制代碼 代碼如下:

>>> [ c[i]+d[i] for i in range(length) ]
[10, 10, 10]

for循環語句在后面還會經常用到,其實前面已經用了很多了。所以,看官應該不感到太陌生。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久色伊人 | 免费在线毛片 | 国产成人久久 | 欧美福利专区 | 久久综合婷婷香五月 | 在线高清中文字幕 | 天天澡天天碰天天狠伊人五月 | 久久亚洲精品国产亚洲老地址 | 亚洲精品久久久久一区二区三 | 92精品国产自产在线观看48页 | 成年做羞羞免费观看视频网站 | 国产在线不卡 | 奇米影视在线视频 | 欧美一级在线免费 | 蜜桃网在线观看 | 狠狠狠狠狠狠狠狠狠狠 | 亚洲精品久久久久久久久久久久久 | 男人天堂网av | 国产精品二区三区 | 宅男lu666噜噜噜在线观看 | 久草视频官网 | 国产精品乱码人人做人人爱 | 国产日韩久久久精品影院首页 | 国产精品成人免费一区久久羞羞 | 国产亚洲欧美日本一二三本道 | 我要看免费毛片 | 亚洲日本视频 | 亚洲国产欧洲精品路线久久 | 久久伊人免费视频 | 午夜影院在线观看视频 | 九一在线观看 | 欧美日韩精品一区二区三区四区 | 日本黄页网站免费 | 香港全黄一级毛片在线播放 | 午夜av免费 | 日本污视频在线观看 | 精品一区二区三区中文字幕 | 免费人成在线播放 | 国产精品国产三级国产专区5o | 色综合五月色婷婷开心 | 日韩欧美亚洲一区 |