【问题标题】:Python iterating through dictionary to get certain values that meet requirements [duplicate]Python遍历字典以获得满足要求的某些值[重复]
【发布时间】:2021-08-02 05:24:04
【问题描述】:

我希望能够输入开始和结束年份,并打印出字典中介于这些年份之间的名称。

字典:

dict = {'Charell Adagala': 2018, 'Sukhneet kaur': 2018, 'Mayanka Jha': 2019, “保罗·切卡洛斯”:2018 年,“伊丽莎白(丽兹)博尼法斯”:2013 年, “卡蒂·伊利耶娃”:2021 年,“苏西·威尔逊”:2018 年,“罗尼特·戈帕拉尼”:2019 年}

开始年份:2019 结束年份:2021

鉴于那些年如何打印出 {'Mayanka Jha', Kati Illieva', 'Ronit Gopalani'}

【问题讨论】:

  • [k for k,v in your_dict.items() if 2019<=int(v)<=2021]

标签: python


【解决方案1】:

这是一个有效的实现。 需要注意的是,我将变量名形式dict 更改为my_dictdict 是python 关键字,因此不建议将其用作变量名,因为它可能会导致意外行为。

my_dict = {
    "Charell Adagala": 2018,
    "Sukhneet kaur": 2018,
    "Mayanka Jha": 2019,
    "Paul Cheakalos": 2018,
    "Elizabeth(Liz)Boniface": 2013,
    "Kati Illieva": 2021,
    "Suzy wilson": 2018,
    "Ronit Gopalani": 2019,
}

start_year = 2019
end_year = 2021

output = [k for k, v in my_dict.items() if v >= start_year and v <= end_year]

【讨论】:

  • 请不要在 Python 中使用dict 作为变量名。您使用同名的内置函数。习惯上,您可以使用2019 &lt;= v &lt;= 2021 以获得更清晰的信息。
  • 发帖人称它为dict,所以我认为他只是想保持一致性。
  • @kinshukdua:很好的机会既可以给出答案,也可以提供一些额外的内容......
  • 我同意,dict 不是变量名的好选择。我试图从问题中维护相同的代码...我还应该更改答案中的变量名吗? (我对 StackOverflow 还是很陌生)
  • @MatteoZanoni:我将帖子中的一个示例替换为your_dict,并包含我在第一条评论中的确切文字。你有了一个很好的开始!
猜你喜欢
  • 1970-01-01
  • 2021-08-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-13
  • 2011-03-10
  • 2019-01-11
相关资源
最近更新 更多