在转向 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 时,它是否以相同的方式有效运行,或者是否并行进行比较?
在我的示例代码中:
if myList[i] == something:
使用 enumerate 会同时检查所有值还是仍然一一循环?
抱歉,如果这对于论坛来说太基础了,我只是想集中精力,这样我就可以在学习时钻研“pythonic”代码。
一般来说,这就足够了:
for item in myList:
if item == something:
doStuff(item)
如果您需要索引:
for index, item in enumerate(myList):
if item == something:
doStuff(index, item)
它不会并行执行任何操作。它基本上抽象了您在 C++ 中手动执行的所有计数工作,但它执行的操作几乎完全相同(仅在幕后进行,因此您不必担心)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)