if/else语句与字典

2024-09-24 22:33:17 发布

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

如果我用字典而不是else语句来写语句,那会是什么情况呢?例如,假设我有

def determineRank(years):
     if years == 1:
         return "Freshman"
     elif years == 2:
         return "Sophmore"
     elif years == 3:
         return "Junior"
     else:
         return "Senior"

如果我用字典重写这本书的话,它会的

^{pr2}$

我要给其他人写什么号码?在


Tags: returnif字典def情况语句elseelif
3条回答

您可以使用dictObject.get(key, defaultValue)。在

因此,等效于您的函数是:

rank = {1: "Freshman", 2: "Sophmore", 3:"Junior"}.get(year, "Senior");

请注意,字典的键/值对是相反的。在

为了扩展已经在这里发布的内容,使用dict.get不会在字典中出现键(例如“Senior”)时引发KeyError。在

您也可以这样做,使用三元运算符检查给定年份是否已经是rank中的键:

rank = {1: "Freshman", 2: "Sophomore", 3: "Junior"}
year = 4
year_rank = rank[year] if year in rank else "Senior"

year_rank将是“高级”

不过,我认为dict.get方法要好一些。在

使用带有默认值的.get方法作为第二个参数:

rank = {1: 'Freshman', 2: 'Sophmore', 3: 'Junior'}
rank.get(years, 'Senior')

相关问题 更多 >