Python中的枚举对象有什么用?怎样用内置函数enumerate()得到枚举对象?Python的for循环和C++的for循环有何区别?Python中for循环的本质是什么?
Posted 昊虹图像算法
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python中的枚举对象有什么用?怎样用内置函数enumerate()得到枚举对象?Python的for循环和C++的for循环有何区别?Python中for循环的本质是什么?相关的知识,希望对你有一定的参考价值。
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)
运行结果如下:
以上是关于Python中的枚举对象有什么用?怎样用内置函数enumerate()得到枚举对象?Python的for循环和C++的for循环有何区别?Python中for循环的本质是什么?的主要内容,如果未能解决你的问题,请参考以下文章
在Python中什么样的对象布尔(bool)值为False,什么样的对象布尔(bool)值为True可以用内置函数bool()判断对象的布尔值