什么是python中foreach php的等价物

时间:2017-06-07 05:48:22

标签: php python loops foreach

我已经使用PHP好几年了,现在,我正试图转向一个新的。我对学习python感兴趣。

在PHP中,我们使用foreach这样的东西:

<?php
$var = array('John', 'Adam' , 'Ken');
foreach($var as $index => $value){
   echo $value; 
}

我们如何在python中集成此代码?

3 个答案:

答案 0 :(得分:4)

Python本身没有foreach语句。它具有内置于语言中的循环。

for element in iterable:
    operate(element)

如果你真的想,你可以定义自己的foreach函数:

def foreach(function, iterable):
    for element in iterable:
        function(element)

参考:Is there a 'foreach' function in Python 3?

答案 1 :(得分:2)

foreach语句的等价物实际上是python for语句。

e.g。

>>> items = [1, 2, 3, 4, 5]
>>> for i in items:
...     print(i)
...
1
2
3
4
5

它实际上适用于python中的所有iterables,包括字符串。

>>> word = "stackoverflow"
>>> for c in word:
...     print(c)
...
s
t
a
c
k
o
v
e
r
f
l
o
w

但是,值得注意的是,以这种方式使用for循环时,您不会编辑可迭代的值,因为它们是shallow copy

>>> items = [1, 2, 3, 4, 5]
>>> for i in items:
...     i += 1
...     print(i)
... 
2
3
4
5
6
>>> print(items)
[1, 2, 3, 4, 5]

相反,您必须使用可迭代的索引。

>>> items = [1, 2, 3, 4, 5]
>>> for i in range(len(items)):
...     items[i] += 1
... 
>>> print(items)
[2, 3, 4, 5, 6]

答案 2 :(得分:0)

请参阅此处的文档:https://wiki.python.org/moin/ForLoop

collection = ['John', 'Adam', 'Ken']
for x in collection:
    print collection[x]