Я играю с некоторыми циклами в питоне. Я хорошо знаком с использованием цикла for:
for x in y:
do something
Вы также можете создать простой список, используя цикл:
i = []
for x in y:
i.append(x)
а затем я недавно обнаружил хороший эффективный тип цикла здесь, в стеке, для создания списка (есть ли название для этого типа цикла? Мне бы очень хотелось знать, чтобы я мог искать по нему немного лучше):
[x.name for x in y]
Хорошо, при этом я хотел пойти дальше с последним типом цикла и попытался создать словарь Python, используя логику того же типа:
{x[row.SITE_NAME] = row.LOOKUP_TABLE for row in cursor}
вместо использования:
x = {}
for row in cursor:
x[row.SITE_NAME] = row.LOOKUP_TABLE
Я получаю сообщение об ошибке со знаком равенства, говорящее мне, что это недопустимый синтаксис. Я считаю, что в этом случае это в основном говорит мне, что знак равенства является условным предложением (==), а не объявлением переменной.
Мой второй вопрос: могу ли я создать словарь Python, используя этот тип цикла, или я далеко от базы? Если да, то как бы я его структурировал?
list-comprehension
. - person smac89   schedule 01.10.2013:
вместо=
:{x[row.SITE_NAME] : row.LOOKUP_TABLE for row in cursor}
- person bheklilr   schedule 01.10.2013