如果我想检查checkPlayer函数中输入的参数是否与键匹配dict1 并返回整个对象或相应键的特定值,我将如何更改此代码?dict1 = {'Messi' : ('Argentina','Barcelona'), 'Ronaldo' : ('Portugal','Juventus'), 'Robben': ('Netherlands','Bayern')}def checkPlayer(plyr): for x in dict1: if plyr == x: print(x)checkPlayer('Messi')我主要对为什么打印x会打印玩家姓名而不是整个对象感到困惑。如果找到匹配项,我将如何打印整个对象,或者更具体地说,仅打印国籍或团队。不太确定如何使用 for 循环访问字典中的索引,它不像列表那样直观:/
3 回答

阿晨1998
TA贡献2037条经验 获得超6个赞
你的对象是一个键:值键是“梅西”,值是“阿根廷”,“巴塞罗那”但是在你的打印语句中你只打印对象的名称将只返回键而没有值
来访问你可以访问的值使用 get() 或字典中对象的索引
得到你想要的结果使用这个:
print plyr,':',dict1[plyr]

神不在的星期二
TA贡献1963条经验 获得超6个赞
您可以使用以下代码:
dict1 = {'Messi' : ('Argentina','Barcelona'), 'Ronaldo' : ('Portugal','Juventus'), 'Robben': ('Netherlands','Bayern')}
checkPlayer = 'Messi'
print (dict1.get(checkPlayer,'Player not found')) # 'Player not found' will be returned if checkPLayer is not in the dict1.keys()
#result --> ('Argentina', 'Barcelona')
添加回答
举报
0/150
提交
取消