日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

6个实例,8段代码,详解Python中的for循环

發(fā)布時間:2025/3/15 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 6个实例,8段代码,详解Python中的for循环 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作者:奧斯瓦爾德·坎佩薩托(Oswald Campesato)

來源:大數據DT(ID:hzdashuju)

Python 支持for循環(huán),它的語法與其他語言(如JavaScript 或Java)稍有不同。下面的代碼塊演示如何在Python 中使用for循環(huán)來遍歷列表中的元素:

上述的代碼段是將三個字母分行打印的。你可以通過在print語句的后面添加逗號“,”將輸出限制在同一行顯示(如果指定打印的字符很多,則會“換行”),代碼如下所示:

當你希望通過一行而不是多行顯示文本中的內容時,可以使用上述形式的代碼。Python 還提供了內置函數reversed(),它可以反轉循環(huán)的方向,例如:

注意,只有當對象的大小是確定的,或者對象實現了_reversed_()方法的時候反向遍歷的功能才有效。

01 使用tryexcept的for循環(huán)

清單1 的StringToNums.py說明了如何對一組從字符串轉換而來的整數求和。

  • 清單1 StringToNums.py

line?=?'1?2?3?4?10e?abc' sum??=?0 invalidStr?=?""print('String?of?numbers:',line)for?str?in?line.split("?"):try:sum?=?sum?+?eval(str)except:invalidStr?=?invalidStr?+?str?+?'?'print('sum:',?sum) if(invalidStr?!=?""):print('Invalid?strings:',invalidStr) else:print('All?substrings?are?valid?numbers')

清單1 首先初始化變量line、sum和invalidStr,然后顯示line的內容。接下來將line中的內容分割為單詞,然后通過try代碼塊逐個將單詞的數值累加到變量sum 中。如果發(fā)生異常,則將當前str的內容追加到變量invalidStr。

當循環(huán)執(zhí)行結束,清單1 打印出數值單詞的和,并在后面顯示非數值單詞。它的輸出如下所示:

02 指數運算

清單2 的Nth_exponet.py說明了如何計算一組整數的冪。

  • 清單2 Nth_exponet.py

maxPower?=?4 maxCount?=?4def?pwr(num):prod?=?1for?n?in?range(1,maxPower+1):prod?=?prod*numprint(num,'to?the?power',n,?'equals',prod)print('-----------')for?num?in?range(1,maxCount+1):pwr(num)

清單2 中有一個pwr()函數,其參數為一個數值。此函數中的循環(huán)可打印出參數的1 到n次方,n的取值范圍在1到maxCount+1之間。

代碼的第二部分通過一個for循環(huán)調用pwr()函數從1到maxCount+1的值。它的輸出如下所示:

03 嵌套的循環(huán)

清單3 的Triangular1.py說明了如何打印一行連續(xù)整數(從1開始),其中每一行的長度都比前一行大1。

  • 清單3 Triangular1.py

max?=?8 for?x?in?range(1,max+1):for?y?in?range(1,x+1):print(y,'',?end='')print()

清單3 首先初始化max變量為8,之后通過變量x從1到max+1執(zhí)行循環(huán)。內層循環(huán)有一個值為從1到x+1的循環(huán)變量y,并打印y的值。它的輸出如下所示:

04 在for循環(huán)中使用split()函數

Python 支持各種便捷的字符串操作相關函數,包括split()函數和join()函數。在需要將一行文本分詞化(即“分割”)為單詞,然后使用for循環(huán)遍歷這些單詞時,split()函數非常有用。

join()函數與split()函數相反,它將兩個或多個單詞“連接”為一行。通過使用split()函數,你可以輕松地刪除句子中多余的空格,然后調用join()函數,使文本行中每個單詞之間只有一個空格。

1. 使用split()函數做單詞比較

清單4 的Compare2.py說明了如何通過split()函數將文本字符串中的每個單詞與另一個單詞進行比較。

  • 清單4 Compare2.py

x?=?'This?is?a?string?that?contains?abc?and?Abc' y?=?'abc' identical?=?0 casematch?=?0for?w?in?x.split():if(w?==?y):identical?=?identical?+?1elif?(w.lower()?==?y.lower()):casematch?=?casematch?+?1if(identical?>?0):print('found?identical?matches:',?identical)if(casematch?>?0):print('found?case?matches:',?casematch)if(casematch?==?0?and?identical?==?0):print('no?matches?found')

清單4 通過split()函數對字符串x中的每個單詞與單詞abc進行比較。如果單詞精確匹配,就將identical變量加1 ;否則就嘗試不區(qū)分大小寫進行比較,若匹配就將casematch變量加1。

清單4 的輸出如下所示:

2. 使用split()函數打印指定格式的文本

清單5 的FixedColumnCount1.py 說明了如何打印一組設定固定寬度的字符串。

  • 清單5 FixedColumnCount1.py

import?stringwordCount?=?0 str1?=?'this?is?a?string?with?a?set?of?words?in?it'print('Left-justified?strings:') print('-----------------------') for?w?in?str1.split():print('%-10s'?%?w)wordCount?=?wordCount?+?1if(wordCount?%?2?==?0):print("") print("\n")print('Right-justified?strings:')? print('------------------------')?wordCount?=?0 for?w?in?str1.split():print('%10s'?%?w)wordCount?=?wordCount?+?1if(wordCount?%?2?==?0):print()

清單5 首先初始化變量wordCount和str1,然后執(zhí)行兩個for循環(huán)。第一個for 循環(huán)對str1的每個單詞進行左對齊打印,第二個for循環(huán)對str1的每個單詞進行右對齊打印。在每個循環(huán)中當wordCount是偶數的時候就輸出一次換行,這樣每打印兩個連續(xù)的單詞之后就換行。清單5 的輸出如下所示:

3. 使用split()函數打印固定寬度的文本

清單6 的FixedColumnWidth1.py說明了如何打印固定寬度的文本。

  • 清單6 FixedColumnWidth1.py

import?stringleft?=?0 right?=?0 columnWidth?=?8str1?=?'this?is?a?string?with?a?set?of?words?in?it?and?it?will?be?split?into?a?fixed?column?width' strLen?=?len(str1)print('Left-justified?column:')? print('----------------------')? rowCount?=?int(strLen/columnWidth)for?i?in?range(0,rowCount):left??=?i*columnWidthright?=?(i+1)*columnWidth-1word??=?str1[left:right]print("%-10s"?%?word)#?check?for?a?'partial?row' if(rowCount*columnWidth?<?strLen):left??=?rowCount*columnWidth-1;right?=?strLenword??=?str1[left:right]print("%-10s"?%?word)

清單6 初始化整型變量columnWidth和字符串類型變量str1。變量strLen是str1的長度,變量rowCount是strLen除以columnWidth的值。之后通過循環(huán)打印rowCount行,每行包含columnWidth個字符。代碼的最后部分輸出所有“剩余”的字符。清單6 的輸出如下所示:

4. 使用split()函數比較文本字符串

清單7 的CompareStrings1.py說明了如何判斷一個文本字符串中的單詞是否出現在另一個文本字符串中。

  • 清單7 CompareStrings1.py

text1?=?'a?b?c?d' text2?=?'a?b?c?e?d'if(text2.find(text1)?>=?0):print('text1?is?a?substring?of?text2') else:print('text1?is?not?a?substring?of?text2')subStr?=?True for?w?in?text1.split():if(text2.find(w)?==?-1):subStr?=?Falsebreakif(subStr?==?True):print('Every?word?in?text1?is?a?word?in?text2') else:print('Not?every?word?in?text1?is?a?word?in?text2')

清單7 首先初始化兩個字符串變量text1和text2,然后通過條件邏輯判斷字符串text2是否包含了text1(并輸出相應打印信息)。

清單7 的后半部分通過一個循環(huán)遍歷字符串text1中的每個單詞,并判斷其是否出現在text2中。如果發(fā)現有匹配失敗的情況,就設置變量subStr為False,并通過break語句跳出循環(huán),提前終止for循環(huán)的執(zhí)行。最后根據變量subStr的值打印對應的信息。清單7 的輸出如下所示:

05 用基礎的for循環(huán)顯示字符串中的字符

清單8 的StringChars1.py說明了如何打印一個文本字符串中的字符。

  • 清單8 StringChars1.py

text?=?'abcdef' for?ch?in?text:print('char:',ch,'ord?value:',ord(ch)) print

清單8 的代碼簡單直接地通過一個for循環(huán)遍歷字符串text并打印它的每個字符以及字符的ord值(ASCII 碼)。清單8 的輸出如下所示:

06 join()函數

另一個去掉多余空格的方法是使用join()函數,代碼示例如下所示:

split()函數將一個文本字符串“分割”為一系列的單詞,同時去掉多余的空格。接下來join()函數使用一個空格作為分隔符將字符串text1中的單詞連接在一起。上述代碼的最后部分使用字符串XYZ替換空格作為分隔符,執(zhí)行相同的連接操作。上述代碼的輸出如下:

關于作者:奧斯瓦爾德·坎佩薩托(Oswald Campesato),專門研究深度學習、Java、Android和TensorFlow。他是25本書的作者/合著者。

本文摘編自《機器學習入門:Python語言實現》,經出版方授權發(fā)布。(ISBN:9787111695240)

《機器學習入門:Python語言實現》

點擊上圖了解及購買

轉載請聯系微信:DoctorData

推薦語:適讀人群:機器學習及Python初學者。本書旨在為讀者提供與機器學習有關Python3的基本編程概念。前4章快速介紹了Python 3、NumPy和Pandas。第5章介紹了機器學習的基本概念。第6章主要介紹機器學習分類器,例如邏輯回歸、kNN、決策樹、隨機森林和SVM。第7章介紹了自然語言處理和強化學習。本書還提供了基于Keras的代碼示例作為理論討論的補充。此外還為正則表達式、Keras和TensorFlow 2提供了單獨的附錄。

劃重點👇

干貨直達👇

  • 這10本硬核技術書,帶你讀懂5G、物聯網和邊緣計算,玩轉元宇宙

  • 手把手教你獲取、編譯和調試Flink的源代碼

  • 盤點 Greenplum 數據庫的十大特點

  • 程序員怎樣上元宇宙的車?

更多精彩👇

在公眾號對話框輸入以下關鍵詞

查看更多優(yōu)質內容!

讀書?|?書單?|?干貨?|?講明白?|?神操作?|?手把手

大數據?|?云計算?|?數據庫?|?Python?|?爬蟲?|?可視化

AI?|?人工智能?|?機器學習?|?深度學習?|?NLP

5G?|?中臺?|?用戶畫像?|?數學?|?算法?|?數字孿生

據統計,99%的大咖都關注了這個公眾號

👇

總結

以上是生活随笔為你收集整理的6个实例,8段代码,详解Python中的for循环的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。