如果我使用字典而不是else语句编写语句,那会是怎么回事?例如,说我有
def determineRank(years):
if years == 1:
return "Freshman"
elif years == 2:
return "Sophmore"
elif years == 3:
return "Junior"
else:
return "Senior"
如果我要使用字典重写它,那就是
rank = {"Freshman":1, "Sophmore":2, "Junior":3, "Senior", ???}
我会为其他人写几个号码?
答案 0 :(得分:5)
使用Pointer.nativeValue(Native.getComponentPointer(jFrame))
方法,默认值为第二个参数:
.get
答案 1 :(得分:3)
您可以使用dictObject.get(key, defaultValue)
。
所以,相当于你的功能将是:
rank = {1: "Freshman", 2: "Sophmore", 3:"Junior"}.get(year, "Senior");
请注意,字典的键/值对是相反的。
答案 2 :(得分:1)
只是为了扩展已在此处发布的内容,使用dict.get
时,如果使用密钥,则不会引发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
方法稍微好一些。