2013-11-28 6 views
1

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

dictionary = [{'Class': '>50K'},{'Class': '<=50K'}] 
    for i in dictionary: 

     if i['Class'] == '<=50k': 
      po_list_count +=1 

     else: 
      rich_list_count +=1 

    print(po_list_count,'---',rich_list_count) 

печать должна быть 1 --- 1 вместо я получаю 0 --- 2
Я пробовал с if i['Class'] in ['<=50k'], но такой же результат.
Является ли это чем-то, что я не понимаю о том, как работает оператор, или, возможно, как он относится к строкам?

+0

Ваши капитализации не совпадают. –

ответ

3

Вы должны проверить на капитал «К»:

if i['Class'] == '<=50K': 

Вы использовали один в dictionary:

dictionary = [{'Class': '>50K'},{'Class': '<=50K'}] 
#          here--^ 
0

в своем определении, вы используете верхний регистр <=50K и в вашей, если заявление вы использование нижнего регистра k

0

Потому что k и K не тот же символ. Вам нужно будет соответствовать этому:

if i['class'] = '50K': 

Или, лучший трюк: просто проверьте как в нижнем регистре!

if i['class'].lower() = '50k': 

Надеюсь, что это поможет!

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