Переменная Python по умолчанию для цикла for - PullRequest
3 голосов
/ 22 ноября 2010

Мне интересно, есть ли в Python концепция хранения данных в переменной по умолчанию для цикла for.

Например, в perl эквивалент следующий:

foreach (@some_array) {
    print $_
}

Спасибо, Derek

Ответы [ 4 ]

15 голосов
/ 22 ноября 2010

Нет. Вы должны просто использовать

for each in some_array:
    print each
2 голосов
/ 23 ноября 2010

Просто для удовольствия, вот что делает именно то, что вы хотите.По умолчанию он связывает переменную цикла с именем «_each», но вы можете переопределить его одним из ваших собственных значений, указав ему ключевое слово var.

1 голос
/ 22 ноября 2010

Python позволяет использовать переменную '_' (цитаты мои). Использование его в программе, кажется, Pythonic способ иметь переменную управления циклом, которая игнорируется в цикле (см. Другие вопросы, например Возможно ли реализовать цикл Python для диапазона без переменной итератора? или мой Pythonic способ игнорирования для переменной управления цикла ). Как отмечается в комментарии, это не то же самое, что переменная по умолчанию в Perl, но позволяет вам делать что-то вроде:

some_list = [1, 2, 3]
for _ in some_list:
    print _

Гуру может поправить меня, но я думаю, что это примерно так же близко, как вы получите то, что вы ищете.

0 голосов
/ 22 ноября 2010

Все, что используется в синтаксисе цикла for, становится переменной, против которой сохраняется этот элемент в итерации до конца цикла.

for item in things:
    print item

или

for googleplexme in items:
    print googleplexme

синтаксис выглядит следующим образом:

for <given variable> in <iterable>:

. Это означает, что если заданная переменная может быть чем угодно в вашем пространстве имен, и итерируемый может быть итеративным источником.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...