【发布时间】:2015-04-14 05:31:33
【问题描述】:
在转向 python 之前,我开始自学一些 c++,我习惯于编写循环,例如
for( int i = 0; i < 20; i++ )
{
cout << "value of i: " << i << endl;
}
转向 python 我经常发现自己使用这样的东西。
i = 0
while i < len(myList):
if myList[i] == something:
do stuff
i = i + 1
我已经读到这根本不是“pythonic”,而且我发现自己经常使用这种类型的代码,每当我必须迭代东西时,我发现我认为我应该使用 Python 中的 enumerate 函数但我不确定如何使用 enumerate 编写类似的代码?我想问的另一个问题是,当使用 enumerate 时,它是否以相同的方式有效地运行,还是并行进行比较?
在我的示例代码中:
if myList[i] == something:
使用 enumerate 是同时检查所有值还是仍然一一循环?
对不起,如果这对论坛来说太基础了,只是想把我的脑袋绕过去,这样我就可以在学习的同时钻“pythonic”代码。
【问题讨论】:
-
你签出this thread了吗?
-
请注意,现在即使在 C++ 中,您也不需要在迭代容器时手动计算索引。