按键对字典排序,然后从特定键

时间:2017-11-13 17:33:43

标签: python dictionary

所以我有一些风暴数据,我已经整理成字典,密钥是风暴发生的年份。主词典的实际上是另一个词典,风暴名称为内部词典的

在我创建了所有词典之后,我要求用户输入,并将该输入存储为变量year,该变量将传递给我想用来显示数据的函数,我们称之为display_info(dictionary, year)

旁注:我有一个main()函数,实际上是年份的输入,以及编辑和返回字典的其他函数,所以我在这里所做的并不完整,它只是这个功能我需要帮助。

year = input("Input a year: ")

def display_info(dictionary, year):
    '''Displays the storm info for the year input'''

    for k,v in dictionary.items():     
        if k == year:
            print(k, v)

我尝试了一些不同的变体,但似乎都没有完成任务。

1 个答案:

答案 0 :(得分:4)

我只是这样做:

if year in dictionary:
   print(year, dictionary[year])

另外,如果您的词典键包含int类型,则需要使用以下内容:

year = int(year)

在运行该逻辑之前。

我不会这样做:

int(input())因为如果您输入非数字内容,则会引发ValueError

进一步利用.get(),它有一个可用于指定默认值的第二个参数,你可以这样做:

print(year, dictionary.get(year, 'No entry found for year: %s' % year)

如果字典中缺少密钥(年份),则会打印“找不到第x年的条目”。