栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

Python中的枚举对象有什么用?怎样用内置函数enumerate()得到枚举对象?Python的for循环和C++的for循环有何区别?Python中for循环的本质是什么?

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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  in :
    
else:
    

其中的else语句,即:

else:
    

不是必须的。

可见,二者的确是有很大的区别。

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)

运行结果如下:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/994462.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号