2013-09-28 3 views
-3

Как получить доступ к значению переменной?Печать значения определенного ключа в dict

class Example: 
    def __init__(self): 
     self.food = "Soup" 

    def get_food(self): 
     return self.food 

food_dict = { 
    "Soup": 3, 
} 

x = Example.get_food 

for x in food_dict.keys(): 
    print food_dict[x] 

Вышеприведенная команда оператору распечатывает результаты при синтаксической ошибке. Я попытался вернуть значение вместо этого, но это приводит к сообщению KeyError: 0. Как распечатать значение?

ответ

2

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

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

x = Example.get_food() 
print food_dict[x] # Value at key x 

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

for x in food_dict.keys(): 
    print food_dict[x] # will print each value of the dict 

в качестве примечания, вы даже не нужно указать .keys(), Python будет понять это для вас:

for x in food_dict: 
    print food_dict[x] 
+0

На самом деле это вызывает синтаксическую ошибку. – user2825343

+0

Какая ошибка? Фактически вы сохранили значение в dict, сделав что-то вроде 'food_dict [« Soup »] =« Clam chowder »? –

+0

В приведенном выше коде хранится значение 3 для ключа «Суп». Я получаю синтаксическую ошибку с кареткой, указывающей на «t» в food_dict, перед «[x]». – user2825343

2
print food_dict[x] # what ...? 
+0

Это вызывает исключение для синтаксической ошибки! – user2825343

Смежные вопросы