Check key exist in python dict

问题

下面是文件输出:

apples:20
orange:100

下面是代码:

d = {}
with open('test1.txt') as f:
    for line in f:
        if ":" not in line:
                continue
        key, value = line.strip().split(":", 1)
        d[key] = value

for k, v in d.iteritems():
    if k == 'apples':
         v = v.strip()
         if v == 20:
             print "Apples are equal to 20"
         else:
             print "Apples may have greater than or less than 20"   
    if k == 'orrange':
         v = v.strip()
         if v == 20:
            print "orange are equal to 100"
         else:
            print "orange may have greater than or less than 100"

在上面的代码中,我写的是“if k == 'orrange':”,但根据输出文件,它实际上是“橙色”。

在这种情况下,我必须打印或输出文件中不存在范围键。 请帮我。 这个怎么做

回答1

使用in关键字。

if 'apples' in d:
    if d['apples'] == 20:
        print('20 apples')
    else:
        print('Not 20 apples')

如果您只想在键存在时获取值(并避免在不存在时尝试获取它的异常),那么您可以使用字典中的get函数,将可选的默认值作为第二个参数传递(如果你不通过它它返回None而是):

if d.get('apples', 0) == 20:
    print('20 apples.')
else:
    print('Not 20 apples.')

更多相关内容:请点击查看