Переменные Python как ключи для диктовки - PullRequest
59 голосов
/ 20 октября 2010

Есть ли более простой способ сделать это в Python (2.7) ?: Примечание: это не так уж и сложно, как поместить все локальные переменные в словарь.Только те, которые я указываю в списке.

apple = 1
banana = 'f'
carrot = 3
fruitdict = {}

# I want to set the key equal to variable name, and value equal to variable value
# is there a more Pythonic way to get {'apple': 1, 'banana': 'f', 'carrot': 3}?

for x in [apple, banana, carrot]:
    fruitdict[x] = x # (Won't work)

Ответы [ 11 ]

0 голосов
/ 20 октября 2010

почему вы не делаете обратное:

fruitdict = { 
      'apple':1,
      'banana':'f',
      'carrot':3,
}

locals().update(fruitdict)

Обновление:

не используйте код выше, проверьте комментарий.

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

# All the vars that i want to get are followed by _fruit
apple_fruit = 1
carrot_fruit = 'f'

for var in locals():
    if var.endswith('fruit'):
       you_dict.update({var:locals()[var])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...