Понять: От Массива PHP до Python?

База данных часто работает как услуга в соответствии с учетной записью без доступа к сети. Если это верно, тогда Вы не были бы в состоянии восстановить непосредственно по сети. Или резервное копирование должно быть скопировано в локальную машину или сервис базы данных, должен работать как пользователь с надлежащим доступом к сети.

13
задан intgr 26 November 2009 в 15:05
поделиться

4 ответа

Все это на самом деле довольно очевидно. Я только перечисляю 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>";

То же, что и 1-й

Пример 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 (обратите внимание, что {...} создает dict [словарь] в Python, а не list /):

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>')

Или, может быть, более питоническая версия :

for product in products:
    print('|%s<br>' % ('|'.join(product)))
26
ответ дан 1 December 2019 в 19:02
поделиться

Вы можете прочитать введение в циклы в учебнике Python .

3
ответ дан 1 December 2019 в 19:02
поделиться

«Что есть в Python?» - довольно философский вопрос, всегда отличный способ начать день. Я думаю, что находится в Python, лучше всего может ответить Zen of Python (введите , импортируйте это в интерактивную оболочку):

  • Красивое лучше, чем уродливое.
  • Явное. лучше, чем неявное.
  • Простое лучше, чем сложное.
  • Сложное лучше, чем сложное.
  • Плоское лучше, чем вложенное.
  • Разрезанное лучше, чем плотное.
  • Удобочитаемость имеет значение.
  • Особых случаев недостаточно, чтобы нарушать правила.
  • Хотя практичность важнее чистоты.
  • Ошибки никогда не должны проходить незаметно.
  • Если явно не замалчиваются.
  • Перед лицом двусмысленности откажитесь от соблазна угадать .
  • Должен быть один - а желательно только один - очевидный способ сделать это.
  • Хотя сначала этот путь может быть не очевиден, если вы не голландец.
  • Сейчас лучше, чем никогда.
  • Хотя никогда не бывает лучше, чем прямо сейчас.
  • Если реализацию трудно объяснить, это плохая идея.
  • Если реализацию легко объяснить, это может быть хорошей идеей.
  • Пространства имен - отличная идея - давайте сделаем их больше!

Извините , не удержался. Чтобы ответить на вопрос, который вы хотели задать, я направлю вас к документации Python , в частности к разделу о методах зацикливания , на который ссылается lutz .

Если только синтаксис в документации не запутает вас полностью (хотя я в этом сомневаюсь), вы увидите, как цикл определяется в Python. И как только вы это поймете, вы поймете, по определению, чем они отличаются (синтаксически) от циклов, к которым вы привыкли в PHP.

Все еще не удовлетворены? Хм ... Думаю, вам стоит еще раз прочитать учебник . Затем вернитесь и задайте конкретные вопросы, которые могут дать конкретные ответы. Вы не найдете ни одной серебряной пули для такого широкого вопроса.

10
ответ дан 1 December 2019 в 19:02
поделиться

Этот вопрос напоминает мне об одном мудром человеке, который сказал: «Дайте человеку рыбу; вы накормили его на сегодня. Научите человека ловить рыбу; и вы кормили его всю жизнь ...»

0
ответ дан 1 December 2019 в 19:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: