php - 了解: From PHP Array to Python?

标签 php python arrays loops

这是 PHP 和其他编程语言中的常见任务。我是从 PHP 开发人员转过来的。 我想确定这个系列。 任何精通 python 的人请帮助我清楚地理解。 这是我从 PHP 代码中收集的。

<?php
$php = array(1,2,3,4,5,6,7,8,9,10);
for ($i = 0; $i < 10 ; $i ++)
echo $php[$i]."<br>";
?>

=>Python 中有什么?

<?php

for ($i = 0; $i < 10 ; $i ++)
echo $php[$i] = $i +1 ;
?>

=>Python 中有什么?

<?php
$php = array(1,2,3,4,5,6,7,8,9,10);
foreach ($php as $value)
echo $value."<br>";
?>

=>Python 中有什么?

<?php
$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
    $value = $value * 2;
}
// $arr is now array(2, 4, 6, 8)
?>

=>Python 中有什么?

<?php
$arr = array("mot"=>"one", "hai"=>"two","ba"=> "three");
foreach ($arr as $key => $value) {
    echo "Key: $key; Value: $value<br />\n";
}
?>

=>Python 中有什么?

<?php
$arr = array("one", "two","three");
while (list($key, $value) = each($arr)) {
    echo "Key: $key; Value: $value<br />\n";
}
?>

=>Python 中有什么?

<?php
$arr = array("one", "two","three");
while ($element = each($arr)) {
    echo "Key: $element['key']; Value: $element['value']<br />\n";
}
?>

=>Python 中有什么?

<?php
$products = array( array("ITL","INTEL","HARD"),
                        array("MIR", "MICROSOFT","SOFT"),
                        array("Py4C", "pythonkhmer.wordpress.com","TUTORIAL")
                         );
for ($row = 0; $row < 3; $row++)
{
    for ($col = 0; $col <3; $col++)
        {
         echo "|".$products[$row][$col];
         }
echo "<br>";
}
?>

=>Python 中有什么?

最佳答案

所有这些都非常明显。我仅列出了执行这些操作的 Pythonic 方法。更新:示例现在应该可以在 Python 2 和 Python 3 中运行。在 Python 2 中,您可以用 xrange() 代替 range() 并用 iteritems() 代替 items() 以提高效率。

示例 1

PHP

$php = array(1,2,3,4,5,6,7,8,9,10);
for ($i = 0; $i < 10 ; $i ++)
echo $php[$i]."<br>";

Python(通常您迭代 Python 中的列表,而不是通过索引访问):

lst = [1,2,3,4,5,6,7,8,9,10]
for item in lst:
    print(str(item) + "<br>")

例子2

for ($i = 0; $i < 10 ; $i ++)
echo $php[$i] = $i +1 ;

python :

lst = range(1, 11)
for item in lst:
    print(item)

或者也许:

lst = []
for i in range(10):
    lst.append(i + 1)
    print(lst[-1])     # prints out last element

示例 3

$php = array(1,2,3,4,5,6,7,8,9,10);
foreach ($php as $value)
echo $value."<br>";

与第一个相同

例子4

$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
    $value = $value * 2;
}

python :

lst = [1, 2, 3, 4]
lst = [val * 2 for val in lst]

示例 5

$arr = array("mot"=>"one", "hai"=>"two","ba"=> "three");
foreach ($arr as $key => $value) {
    echo "Key: $key; Value: $value<br />\n";
}

Python(注意 {...} 在 Python 中创建了一个 dict [字典],而不是列表/):

dct = {'mot': 'one', 'hai': 'two', 'ba': 'three'}
for key, value in dct.items():
    print("Key: %s; Value: %s<br />" % (key, value))

例子6

$arr = array("one", "two","three");
while (list($key, $value) = each($arr)) {
    echo "Key: $key; Value: $value<br />\n";
}

python :

lst = ['one', 'two', 'three']
for key, value in enumerate(lst):
    print("Key: %d; Value: %s<br />" % (key, value))

示例 7

$arr = array("one", "two","three");
while ($element = each($arr)) {
    echo "Key: $element['key']; Value: $element['value']<br />\n";
}

没有与此直接对应的 Python。

例8

$products = array( array("ITL","INTEL","HARD"),
                        array("MIR", "MICROSOFT","SOFT"),
                        array("Py4C", "pythonkhmer.wordpress.com","TUTORIAL")
                         );
for ($row = 0; $row < 3; $row++)
{
    for ($col = 0; $col <3; $col++)
    {
        echo "|".$products[$row][$col];
    }
    echo "<br>";
}

python :

products = [['ITL', 'INTEL', 'HARD'],
    ['MIR', 'MICROSOFT', 'SOFT'],
    ['Py4C', 'pythonkhmer.wordpress.com', 'TUTORIAL']]

for product in products:
    for item in product:
        print('|' + item)
    print('<br>')

或者更像 Pythonic 的版本:

for product in products:
    print('|%s<br>' % ('|'.join(product)))

关于php - 了解: From PHP Array to Python?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1781617/

相关文章:

php - 在 Shopware 6 中导入期间如何替换(不添加)属性?

c# - 如何将 C# 函数转换为 PHP

c - 我的循环不会检查 C 中数组的所有元素

php - PHP可以重启Apache吗?

php - new之后直接调用方法?

python - 无法使用 PyFITS 打开文件

python - 尝试使用 send_keys 时出现 AttributeError

python - 如何将列表列表转换为每个列表换行且没有逗号的字符串

c - 快速排序实现在 C 中不排序

JavaScript 数组声明