程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python中的枚舉對象有什麼用?怎樣用內置函數enumerate()得到枚舉對象?Python的for循環和C++的for循環有何區別?Python中for循環的本質是什麼?

編輯:Python

Python中的for循環和C/C++中的for循環很不一樣:

在C++中,for循環是下面這樣的:

 int i,value1,value2;
for (i = 0; i < 10; i++)
{

value1 = 2 + i;
value2 = i - 3;
}

而在Python中,for循環是下面這樣的格式:

for <variable> in <sequence>:
<statements>
else:
<statements>

其中的else語句,即:

else:
<statements>

不是必須的。

可見,二者的確是有很大的區別。

C++的for循環是靠一個變量及判定條件去控制循環體的執行,而Python中的for循環本質上是去遍歷可迭代的對象。

Python中for循環的示例如下:

languages = ["C", "C++", "Perl", "Python"]
for x in languages:
print(x)

運行結果如下:

從這個例子可以看出,果然Python中的for循環本質上是去遍歷可迭代的對象。

現在問題來了,有時候我需要知道我當前執行了多少次循環,比如以上面的例子,當遍歷到Perl次的時候,如果從0開始的話,應該是第2次,這時候我們就可以用將可迭代對象轉化為枚舉對象來實現。

示例代碼如下:

languages = ["C", "C++", "Perl", "Python"]
for index, x in enumerate(languages):
print(index, x)

運行結果如下:

從這個示例代碼中我們可以看出,可以用內置函數enumerate()來實現將別的可迭代對象轉化為枚舉對象,枚舉對象本質上也是一種可迭代的對象,只不過它的每個元素都有兩個屬性,一是枚舉值,二是具體的內容。
正是因為它的每個元素都有兩個屬性,其中一個就是枚舉值,所以我們可以知道我們作了多少次循環。

內置函數enumerate()的語法如下:

enumerate(iterable, start)

參數:
iterable—可迭代對象
start—數字。定義枚舉對象的起始編號。默認值為 0。

我們可以利用它的第二個參數將上面例子的循環次數由0開始計數到1開始計數,修改後的代碼如下:

languages = ["C", "C++", "Perl", "Python"]
for index, x in enumerate(languages, 1):
print(index, x)

運行結果如下:


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved