Python3.7知其然知其所以然-第十章 for循環

2021-01-11 老陳說編程

for循環可以遍歷任何序列的元素,如逐個輸出字符串、列表、字典或元組等中的元素。它是一種迭代循環機制。通俗點說,就是把這個循環中的第一個元素到最後一個元素依次訪問一次,並把訪問到的元素供執行語句使用。

10.1 for語句

for循環從序列裡逐個取出元素,並賦值給迭代變量,以供執行語句使用,語法結構為:

for 迭代變量in 遍歷序列:

執行語句1

執行語句…

# 遍歷字符串

s = "Welcome to Python."

for c in s:

print(c)

10.2 range()函數

可以使用內置range()函數,生成數列,並通過for循環取出元素。range(start,end,step=1)顧頭不顧尾。

range(5): 默認step=1,start=0,生成數列內容為:[0, 1, 2, 3, 4];

range(1,5):指定start=1,end=5,默認step=1,生成數列內容為:[1, 2, 3, 4]

range(1,5,2):指定start=1,end=5,step=2,生成數列內容為: [1, 3]

# 用range()函數生成數列

for i in range(10):

print(i)

10.3 索引迭代

除了可通過遍歷的方式獲取元素外,還可以通過索引迭代的方式獲取。用索引迭代時,先通過內置函數len()獲取列表的長度,再逐個迭代。

# 數組內容

lang = ["Chinese", "English", "French"]

# 獲取數組長度

length = len(lang)

for index in range(length):

print(lang[index])

10.4 嵌套語句

for循環允許在一個循環體裡面嵌入另一個循環。語法結構為:

for 迭代變量1 in 遍歷序列1:

執行語句1

for 迭代變量3 in 遍歷序列2:

執行語句2

執行語句…

# 字符串數組

s1 = ["1", "2", "3", "4", "5"]

s2 = ['a', 'b', 'c', 'd', 'e']

for a in s1:

print(a)

for b in s2:

print(b)

10.5 列表推導

Python中的for循環,除了可以遍曆元素外,還可以進行列表推導。列表推導是一種簡化代碼的優美方法。推導式是可以從一個數據序列構建另一個新的數據序列的結構體。語法結構為:

[表達式 for 變量 in 列表] 或者 [表達式 for 變量 in 列表 if 條件]

# 獲取新列表

l1 = [data for data in range(1, 10)]

print(l1)

# 兩個列表內容

v1 = [10, 20, 30]

v2 = [30, 40, 50]

# 獲取交集

v = [num for num in v1 if num in v2]

print(v)

# 獲取差集

v = [num for num in v1 if num not in v2]

print(v)

10.6 跳出循環

Python語言的跳出循環與大多數語言一樣,可以使用關鍵字continue跳出本次循環。

# continue語句

def f1():

for i in range(1, 10):

if i % 2 == 0:

continue

# if條件為True的,跳過continue語句下的表達式。

print(i)

f1()

或者break跳出整個for循環。

# break語句

def f1():

for i in range(1, 10):

if i % 2 == 0:

break

# if條件為True的,跳過continue語句下的表達式。

print(i)

f1()

另外還有return語法,會跳出for循環。

# return語句

def f1():

for i in range(1, 10):

if i % 2 == 0:

return i

return 0

result = f1()

print(result)

10.7 for-else語句

如果想在循環正常(非break 跳出)執行完,需要執行一些其他動作時,可在後面添加else語句。除了else外,還有一種特殊情況,就是會出現一個語句體什麼也不做的情況,這時用pass語句進行佔位。它是空語句,什麼都不做,只要是保持程序結構的完整性。

正常退出循環,會執行else內容。

# range()生成數列

for i in range(1, 10):

if i % 2 == 0:

pass # pass不做任何操作

print(i)

else:

print("循環完成")

通過break非正常退出循環,不會執行else內容。

# range()生成數列

for i in range(1, 10):

if i % 2 == 0:

break

print(i)

else:

print("這裡不執行")

相關焦點

  • 江蘇省委書記婁勤儉:努力做到知其然、知其所以然、知其所以必然
    來源:人民日報原標題:人民日報|婁勤儉:努力做到知其然、知其所以然、知其所以必然 原標題:努力做到知其然、知其所以然、知其所以必然(深入學習貫徹習近平新時代中國特色社會主義思想)《 人民日報 》2020年11月27日 第 09 版 版面截圖
  • 水產常用的光合細菌,養殖戶雖知其然,卻不知其所以然
    本文依據筆者的學習、養殖終端實踐經驗及相關資料內容,簡單敘說光合細菌,讓養殖戶更深入了解光合細菌,做到知其然,也知其所以然!光合細菌(PSB)是地球上最早出現具有原始光能合成體系的原核生物,是一大類在厭氧條件下進行不放氧光合作用的細菌的總稱。
  • [辨析篇]介詞是英語的靈魂,要知其然更要知其所以然,推薦收藏
    一詞一世界表時間的介詞第一類:at第三類:till,by,since,fromtill表示繼續的終止點,譯為「直到」;by表示完結的時限,截止時間,譯為「到......為止」;表地點的介詞第一類:at,inat用於具體的、狹小的地方;in用於寬大的,籠統的位置He
  • 安全用藥,知其然也要知其所以然
    而且,每年疫苗所含的毒株成分也會因流行優勢株不同而有所變化,所以每年都需要接種,以確保體內抗體與流行毒株匹配。大部分流感出現在當年11月到次年2月,在流感流行高峰前1到2個月接種,能更好地發揮疫苗的保護作用,所以9、10月份是最佳接種時機,整個流行季節都可以接種。孕婦在孕期的任一階段均可接種流感疫苗。建議只要本年度的流感疫苗開始供應,可儘早接種。
  • 微知識 | 那些我們知其然而不知其所以然的生活現象
    生活中,我們會發現,總是有那麼一些現象,當被問到知不知道時,大家都會說但當被要求解釋的時候,我們卻往往會表示面對這種狀況,作為一個好奇寶寶,我們當然是要大聲地反問:WHY!>—   紙=充滿孔隙的纖維+孔隙裡的空氣由於空氣和纖維對光的折射率相差較大,當光照到紙上的時候,一部分被纖維吸收,另一部分在孔隙中散射,使纖維和空氣界面發生雜亂折射和反射,成功透過紙張到達我們眼睛的光線很少,所以看起來不透明
  • 十動然魚是什麼梗 十動然魚是什麼意思為什麼這麼火
    相信不少的網友經常的在各大社交平臺上看到一個新鮮的詞語——十動然魚,初看的時候完全不明白是什麼意思,而且又不像成語,所以下面就來為大家詳細的介紹一下十動然魚這個梗。
  • 「超級訪談」臺灣黃浩輝教授談Pipeline遠端操作:知其然,知其所以然
    頭端顯影線圈是15mm,當遠端顯影標記和微導管的遠端,跟遠端顯影標記一樣長的時候,就是15mm,15mm擴張貼壁後就是7mm;錨定點起碼要給有5~7mm的長度,約等於遠端顯影標記的長度。然後你撤到微導管的遠端——假如留15mm的話,就往後撤,撤到你微導管的遠端是在瘤口的位置,然後慢慢釋放Pipeline即可。 Pipeline釋放後會擴張、縮短,縮短後就錨定了。
  • 十動然魚是什麼意思 十動然魚出處哪裡是什麼故事
    十動然拒」是2019年新出來的一個梗,相信很多人在網上都看到過這個成語,那麼十動然魚是什麼意思?「十動然拒」事件出處。下面來看一下。十動然魚是什麼意思  作為網絡語的該詞,完整的說法為「十分感動,然後拒絕了Ta「的縮略形式。用來形容屌絲被女神或男神拒絕後的自嘲心情。
  • 對曰:「然。非與?」
    以其善有元,事有會,知其元則眾善舉矣,故不待多學,一以知之。「天下殊塗而同歸,百慮而一致」,《周易·下繫辭》文也。朱子集註:子貢之學,多而能識矣。夫子欲其知所本也,故問以發之。「然,非與?」方信而忽疑,蓋其積學功至,而亦將有得也。「一以貫之。」說見第四篇。然彼以行言,而此以知言也。謝氏曰:「聖人之道大矣,人不能遍觀而盡識,宜其以為多學而識之也。然聖人豈務博者哉?
  • 「明」與「察」,「知」與「覺」區分了「心」與「耳目」的涵義!
    在《離婁下》「人之所以異於禽獸者幾希」章中,朱熹對「舜明於庶物,察於人倫」一句註解到:「明,則有以識其理也。察,則有以盡其理之祥也。物理固非度外,而人倫尤切於身,故其知之有詳略之異。」朱熹認為,舜之所以為聖人,在於其明於物理、察於倫理。相對於物理,朱熹更看重倫理,因此,朱熹認為,舜的偉大不僅僅識物之理,更在於其能盡倫理之詳。
  • 「十動然拒」會進成語詞典嗎? 專家:為時尚早
    原標題:「十動然拒」會進成語詞典嗎?專家:為時尚早  十動然拒、喜大普奔、不明覺厲……這些「詞語」是讓你覺得~頭霧水還是親切萬分  「網絡成語」會進成語詞典嗎   專家稱為時尚早因為傳播範圍相當有限  十動然拒、喜大普奔、不明覺厲、人艱不拆……這些四個字組成的詞語,從字面上看,很難理解它們的真實含義,然而在資深網迷的眼中,這些都屬於既好用又流行的
  • 男生16萬字情書求愛遭拒 引發新詞「十動然拒」
    報導結尾處「女孩十分感動,然後拒絕了他」,引發網友瘋狂模仿造句,誕生了最新網絡新詞「十動然拒」。情書作者王文瑾連日謝絕媒體採訪,昨日首次向本報回應此事。  16萬字情書求愛被拒  王文瑾是華中科大文華學院工程管理專業大四男生,他心儀學妹小羅(化名)。小羅經常向他請教專業問題,他就想到寫一封萬字情書放在課程設計裡送給她。
  • 在煤礦幹防治水,一定要了解的地下水層知識,知其所以然
    根據巖溶水的埋藏條件可分為:      ( 1 )巖溶上層滯水      在厚層灰巖的包氣帶中,常有局部非可溶的巖層存在,起著隔水作用,在其上部形成巖溶上層滯水。      ( 3 )巖溶承壓水       巖溶地層被覆蓋或巖溶層與砂頁巖互層分布時,在一定的構造條件下,就能形成巖溶承壓水。巖溶承壓水的補給主要取決於承壓含水層的出露情況。巖溶水的排洩多數靠導水斷層,經常形成大泉或群泉,也可補給其他地下水,巖溶承壓水動態較穩定。
  • 《第3章 Python 運算符與表達式》3.1.3 比較(關係)運算符!
    《高中信息技術 Python編程》 教學案 《第3章 Python 運算符與表達式》3.1.3 比較(關係)運算符!瀏覽器版本過低,暫不支持視頻播放3.1.3、比較(關係)運算符用於對變量或表達式的結果進行大小,真假的比較,返回結果True 、False,通常用在條件語句中作為判斷的依據。
  • 什麼是知其不可而為之
    聖人畏天命,故修其在己者,以聽之天,未嘗遺天下。聖人亦不敢忘天下。雖知其不可,得不為哉?」「知其不可為而為之」是一句既悲且壯的話,可以說是孔子一生的真實寫照。所以太史公說「野合而生孔子」。「野」即非「禮」。孔子一生都呼籲「克己復禮」,但他自己的存在就不合「禮」。此之謂一悲也。更不幸的是,孔子的父親在孔子3歲時就去世了。母親顏氏一個人將孔子拉扯大,結果在孔子17歲時也撒手人寰。那時,孔子想把父親和母親合葬在一起,但是因為父親去世得太早,他都不知道父親到底埋葬在哪兒。最後還是在一位好心老婦人的幫助下完成了合葬工作。
  • 《第3章 Python 運算符與表達式》3.1.1 算術運算符!
    《高中信息技術 Python編程》 教學案 《第3章 Python 運算符與表達式》3.1.1 算術運算符!3.1.1、算術運算符: 常規: + - * / 編程實例:原始碼:python = 95 # 定義變量,存儲Python的分數english = 92 # 定義變量,存儲English的分數c = 89
  • python基礎課程 第5章 奇妙的內建函數
    除了DRF原則之外,用 python 的內建函數還有另一個好處,那就是它通常比我們自己實現得更好,更合理。因為python語言本身是基於C語言實現的,而大部分內建函數均是基於C語言編寫並編譯成二進位的,所以在運算效率上比我們用 python 再實現一遍要高很多。
  • 「唯上知與下愚為不移」的解釋探求
    然此乃是中人耳,其性可上可下,故遇善則升,逢惡則墜也。孔子又嘗曰:唯上知聖人不可移之使為惡,下愚之人不可移之使強賢。此則非如中人性習相近遠也。這樣的解讀是以孔安國所說的「上知不可使為惡,下愚不可使強賢。」為基調,上知與下愚,即為明智與愚蠢。習作名詞「性習」講。一般人的天性是差不多的,但性習卻相差很遠。
  • 應然與實然
    科學家發表的結果,不需要尋門求路讓別人相信,他們畢生都在無盡的探索和思考,沒有邊界,沒有應然與實然的糾結,不會踩人際關係的雷。實然,歷史長河中所有事物發展都是依靠科學推動,即使是披著科學外衣的人的意志。意志不能提供完美答案,卻可以把問題簡單化,哲學的魅力就在於此。哲學大師裡,我的媽媽劉女士算一個,我覺得。她從不對別人提要求,與每個人交往安全距離的把握非常到位。
  • 鯤鵬、罔兩、渾沌……讀完《莊子》,「想見其為人」
    對莊子本人著述的辨明,使我們有可能進探其思理所達之境。隨著文本和思想闡發的次第深入,我們將會看到《莊子》內篇令人驚訝的整體性和完成度:思想與概念展開的高度一致,精巧到近乎無跡的結構安排,看似偶然實則必需的敘述方式。基於這樣的認識,以最莊重的態度對待每一個看似細小的文本起伏就成了當然的選擇。作者:(戰國)莊周著,姚彥汝譯 出版社:北京聯合出版公司關於莊子,我們所知甚少。