Python if语句条件使用字典字符串

时间:2013-11-28 00:17:26

标签: 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']但结果相同。
是不是我不理解if语句是如何工作的,也可能是它如何处理字符串?

3 个答案:

答案 0 :(得分:3)

您需要检查大写“K”:

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

您在dictionary中使用了一个:

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

答案 1 :(得分:0)

在您的定义中,您使用大写<=50K并在if语句中使用小写k

答案 2 :(得分:0)

因为kK不是同一个字符。你必须匹配它:

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

或者,一个更好的伎俩:只需用小写检查两个!

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

希望这有帮助!