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)

运行结果如下:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值