下面有一个函数,它使用输入的函数参数搜索字典键匹配。如果发现键匹配,我希望索引1(团队)处的值更改为调用函数时输入的所需团队:
dict1 = {'Messi' : ('Argentina','Barcelona'), 'Ronaldo' : ('Portugal','Juventus'), 'Robben': ('Netherlands','Bayern')}
def setNewTeam(plyr, newTeam):
for x in dict1:
if plyr == x:
dict1[plyr][1] = newTeam
setNewTeam('Messi', 'Manchester')
但是,当我运行此代码时,我得到:
TypeError: 'tuple' object does not support item assignment
我知道这一定是因为元组是不可变的,但肯定有一种方法使这项工作,因为我与字典的工作,有人可以在这里伸出援手吗?你知道吗
谢谢你!你知道吗
正如错误消息所说,不能将新项分配给元组,因为元组在python中是不可变的对象。你知道吗
您可以使用列表:
注意列表是如何使用
[]
创建的,而元组使用()
。你知道吗由于要更新值,tuple不是好的数据结构。你应该使用列表。 如果仍要使用元组,可以使用以下内容构建一个全新的元组:
dict1[plyr] = (dict1[plyr][0], newTeam)
相关问题 更多 >
编程相关推荐