当我遇到可以用javascript实现的情况时,我总是认为如果有一个foreach
函数,那将是很方便的。我所说的foreach是指如下所述的函数:
def foreach(fn,iterable):
for x in iterable:
fn(x)
他们只是在每个元素上都这样做,并没有产生或返回什么东西,我认为它应该是一个内置函数,应该比用纯Python编写更快,但我没有在列表中找到它,或者它只是调用了另一个名称?或者我错过了一些要点?
也许我错了,因为在Python中调用函数的成本很高,对于这个例子来说绝对不是一个好的实践。函数不应该是外循环,而应该在其主体内执行循环,如下所示,这在许多python的代码建议中已经提到:
def fn(*args):
for x in args:
dosomething
但基于两个事实,我认为foreach仍然是受欢迎的:
我看到的每一个“foreach”的出现(PHP,C#,…)与pythons的“for”语句基本相同。
它们或多或少相当于:
所以,是的,python中有一个“foreach”。它叫“为了”。
你所描述的是一个“数组映射”函数。这可以通过python中的list comprehensions完成:
其他示例:
Python Foreach循环:
Python For循环:
Python本身没有
foreach
语句。它在语言中内置了for
循环。如果您真的想,可以定义自己的
foreach
函数:顺便说一下,
for element in iterable
语法来自于the ABC编程语言,这是Python的影响之一。相关问题 更多 >
编程相关推荐