输出迭代字典的python问题

2024-10-01 15:32:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我想打印('doesnotexist')当输入不是dictionary中的键时,它看起来像是检查dictionary中的每个键,并打印它是否存在。我想问一下,如果字典不包含输入,是否可以只获得一次输出。你知道吗

number = input('Number: ')

data = {
        '1' : 'One',
         '2' : 'Two',
         '3' : 'Three',

        }

number = number.upper()
for a, value in data.items():
    if a == number:
        print(number, ":", value)
    else:
         print('Doesnt exist here')

Number: 1
1 : One
Doesnt exist here
Doesnt exist here

Tags: numberinputdatadictionary字典herevalueone
3条回答

不要使用upper()函数。钥匙不是护身符。你知道吗

所以不需要使用for循环。代替for循环,添加以下行:

print(number, ":", data[number]) if number in data else print("Doesn't exist")

同时也要消除上面的方法,因为它是无效的。你知道吗

玩得开心!你知道吗

此问题有多种可能的解决方案:

使用in关键字

number = input('Number: ')

data = {
        '1' : 'One',
         '2' : 'Two',
         '3' : 'Three',
}

if number in data:
    print("{}: {}".format(number, data[number]))
else:
    print('Doesnt exist here')

Doc

如果键不在中,python字典抛出KeyError

try:
    print("{}: {}".format(number, data[number]))
except KeyError as ex:
    print('Doesnt exist here')

Doc

print(data.get(number, "Does not exist here"))

希望这有帮助,快乐学习。你知道吗

相关问题 更多 >

    热门问题