自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Python中的循環(huán):遍歷列表、元組、字典和字符串

開發(fā) 后端
什么是循環(huán)?在編程中,循環(huán)意味著以相同的順序多次重復(fù)同一組計算。

 什么是循環(huán)

在編程中,循環(huán)意味著以相同的順序多次重復(fù)同一組計算。

[[390921]]

想想現(xiàn)實生活中的情況。你是一位在森林里測量樹木的野外生物學(xué)家。你選一棵樹,測量它的直徑和高度,把它們寫在你的筆記本上,估計它的總體積。接下來,你再選一棵樹,測量它的直徑和高度,把它們寫在你的筆記本上,估計它的總體積。然后,你再選一棵樹,測量它的直徑和高度,把它們寫在你的筆記本上,估計它的總體積。

您將不斷重復(fù)相同的過程,直到示例中的所有樹都用完為止。在編程行話中,您將遍歷每棵樹,并以相同的順序執(zhí)行相同的任務(wù)集。

回到編程,如果給您一個整數(shù)值列表,并要求對每個項進行平方,然后再加5,最后報告結(jié)果——這就是一個循環(huán)的例子。

我們可以循環(huán)什么?

那么我們可以循環(huán)什么呢?基本上,任何可迭代的數(shù)據(jù)類型都可以使用循環(huán)進行操作。Python中的可迭代對象是以不同數(shù)據(jù)格式存儲的值序列,例如:

  • 列表(例如。[15]10、12、13日)
  • 元組(例如(10,12,13,15))
  • 字典(例如{' Name ': ' Alan ', ' Age ': 25})
  • 字符串(例如' Data Science ')

循環(huán)都有那些類型?

主要有兩種循環(huán):for循環(huán)和while循環(huán)。其中,for循環(huán)是應(yīng)用于數(shù)據(jù)科學(xué)問題中最常見的一種循環(huán)。關(guān)鍵的區(qū)別是:

  • for循環(huán)對iterable對象中的每個元素進行有限次數(shù)的迭代
  • while循環(huán)一直進行,直到滿足某個條件

遍歷列表

遍歷一個列表非常簡單。給一個值列表,并要求對每個項做一些事情。假設(shè)你有:

  1. my_list = [1,2,3,4]  

然后要求你計算列表中每個值的平方:

  1. for each_value in my_list:  
  2.     print(each_value * each_value)Out:  
  3. 1  
  4. 4  
  5. 9  
  6. 16  

類似地,你可以做一些更復(fù)雜的循環(huán)(例如'嵌套循環(huán)')。例如,給你兩個列表并要求:

(i)將一個列表的值與另一個列表相乘

(ii)將它們追加到一個空列表中

(iii)打印出新的列表。

  1. new_list = []list1 = [2, 3, 4]  
  2. list2 = [4, 5, 6]for i in list1:  
  3.     for j in list2:  
  4.         new_list.append(i*j)  
  5.           
  6. print(new_list)Out:  
  7. [8, 10, 12, 12, 15, 18, 16, 20, 24]  

 

遍歷元組

遍歷元組可能會有點復(fù)雜,這取決于元組的結(jié)構(gòu)和要完成的任務(wù)。

讓我們在一個列表中存儲一些元組,每個元組代表一個類中學(xué)生的姓名和年齡:

  1. students = [('Allie', 22), ('Monty', 18), ('Rebecca', 19)]  

現(xiàn)在的任務(wù)是:

(i)提取所有的年齡

(ii)將它們存儲在一個列表中

(iii)計算平均年齡

  1. ages = []for i,j in students:  
  2.     ages.append(j)  
  3.   
  4. avg = sum(ages)/len(ages)  
  5. print(avg)  
  6.   
  7. Out:   
  8. 19.666666666666668  

 

這里的每個元組都包含兩個條目(姓名和年齡)。即使您對名稱不感興趣,通過i和j,您將指定這兩個項目,并要求將項目j (age)追加到一個新的列表中。它被稱為“元組拆包”。

遍歷字典

Python中的字典是鍵-值對的集合:字典中的每一項都有一個鍵和一個相關(guān)聯(lián)的值。一個字典的例子:

  1. # fruit price dictionary  
  2. fruit_prices = {"apple": 2.50, "orange": 4.99, "banana": 0.59}  

 

您可以循環(huán)遍歷這些dictionary元素并執(zhí)行各種操作。下面是一些例子:

提取字典中的所有鍵值:

  1. for i in fruit_prices.keys():  
  2.     print(i)  
  3.   
  4. Out:  
  5. apple  
  6. orange  
  7. banana  

 

將所有的值存儲在一個列表中:

  1. values = []  
  2.  for i in fruit_prices.values():  
  3.      values.append(i)  
  4.  print(values)  
  5.    
  6.  Out:  
  7.  [2.5, 4.99, 0.59]  

 

遍歷字符串

讓我們考慮字符串- " Hello "。它看起來像一個可迭代對象嗎?事實上,它是。

  1. for i in 'Hello':  
  2.     print(i)  
  3.   
  4. Out:  
  5. H  
  6. e  
  7. l  
  8. l  
  9. o  

 

可以使用for循環(huán)解包字符串中的每個字符,并對它們執(zhí)行各種操作。

同樣,也可以遍歷句子中的每個單詞。但是在這種情況下,需要一個額外的步驟來分割句子。

  1. sent = 'the sky is blue'  
  2. # splitting the sentence into words  
  3. sent_split = sent.split()  
  4. # extract each word with a loop  
  5. for i in sent_split:  
  6.     print(i)  
  7.   
  8. Out:  
  9. the  
  10. sky  
  11. is  
  12. blue  

 

While循環(huán)

與for循環(huán)類似,while循環(huán)重復(fù)執(zhí)行一個代碼塊——只要條件為真。只有當(dāng)循環(huán)條件為false時,循環(huán)才會中止。

while循環(huán)的一般結(jié)構(gòu)是這樣的:

  1. i = 0while i <=5:  
  2.     print(i)  
  3.     i = i+1   
  4.   
  5. option to break out of the loop  
  6. Out:  
  7. 0  
  8. 1  
  9. 2  
  10. 3  
  11. 4  
  12. 5  

 

在上面的每一次迭代中,i的值都被輸出到5。在此之后,while循環(huán)條件變?yōu)閒alse(即i = 6時,i≤5變?yōu)閒alse)。

  1. user_id = 'user101'  
  2.  while True:  
  3.      user = input('Enter your user ID: ')  
  4.        
  5.      if user == user_id:  
  6.          print("You have entered "user)   
  7.          break  
  8.      else:  
  9.          print("Enter a valid user ID ")  

 

循環(huán)控制:continue, break, pass

有三種所謂的循環(huán)控制關(guān)鍵字:continue, break, pass。這些語句改變循環(huán)流,并允許程序在觸發(fā)特定外部條件時退出或跳過部分循環(huán)。

Break

如果在循環(huán)中存在break語句,則在滿足條件時終止循環(huán)。

  1. string = 'hello, there'  
  2. for i in string:  
  3.     if i == ',':  
  4.         break  
  5.     print(i)  
  6. Out:  
  7. h  
  8. e  
  9. l  
  10. l  
  11. o  

 

在上面的代碼片段中,我們要求程序在找到字符串中的逗號并執(zhí)行下一條語句(打印i)

continue

continue語句簡單地跳過一個迭代并繼續(xù)到下一個迭代,而不是跳出循環(huán)。

讓我們執(zhí)行上面相同的代碼,但是使用continue關(guān)鍵字。

  1. string = 'hello, there'  
  2. for i in string:  
  3.     if i == ',':  
  4.         continue  
  5.     print(i)Out:  
  6. h  
  7. e  
  8. l  
  9. l  
  10. o  
  11.    
  12. t  
  13. h  
  14. e  
  15. r  
  16. e  

 

在這種情況下,如果循環(huán)遇到了逗號循環(huán)會繼續(xù)跳過逗號。

Pass

pass不做任何事情,它只是一個還沒有寫的語句的占位符。

  1. string = 'hello, there'  
  2. for i in string:  
  3.     pass  

 

如果我們沒有在那里放入一個pass,它將拋出一個錯誤消息,其余的代碼將不會執(zhí)行。

總結(jié)

本文的目的是直觀地了解Python中的for循環(huán)和while循環(huán)。給出了如何循環(huán)遍歷可迭代對象的例子,如列表、元組、字典和字符串。在文章的最后,我們通過示例介紹了循環(huán)控制語句的概念——break、continue和pass。

本文旨在對循環(huán)的工作方式進行初步概述。

責(zé)任編輯:華軒 來源: 今日頭條
相關(guān)推薦

2024-07-11 15:50:36

2024-04-23 14:02:48

Python數(shù)據(jù)類型字符串

2020-10-20 14:50:26

Python數(shù)字字符串

2021-09-06 20:05:47

Python集合對象

2021-05-24 10:24:42

Golang字符串Python

2019-12-16 10:13:16

Python字符串數(shù)據(jù)

2024-03-12 07:35:39

Python字符串列表

2021-03-08 08:23:24

Java字符串截取

2010-03-22 17:53:50

Python字符Python字符串

2009-07-24 11:12:33

ASP.NET連接字符

2010-03-16 17:41:14

Python字符串

2010-03-16 17:14:19

Python字符串

2010-11-26 13:18:53

MySQL字符串

2010-06-28 15:18:51

SQL Server

2023-09-04 19:15:19

itemPython版本

2023-12-15 10:27:01

暴力匹配算法Python字符串

2021-07-26 00:02:30

Python字符串列表

2023-10-26 12:01:30

Golang字符串

2021-01-08 15:14:16

Python循環(huán)for循環(huán)

2021-07-30 06:22:37

C++字符型字符串
點贊
收藏

51CTO技術(shù)棧公眾號