我在字典里有一个这样的列表:
d = {first_name + last_name : [first_name, last_name, email, phone_number, birthday]}
我尝试做的是更新列表中的first_name值和键。例如,我的字典可能看起来像这样:
{'johndoe' : ['john', 'doe', 'jd@gmail.com', '911', '01/09']}
我希望能把名字更新成jane或者别的什么:
{'janedoe' : ['jane', 'doe', 'jd@gmail.com', '911', '01/09']}
我正在尝试的是:
def update_first_name(d, first_name, last_name, new_field_value):
d[first_name + last_name][0] == new_field_value
return d
我也尝试过使用update()方法,但我不知道如何使用它来更改值的特定索引。我也相信我遇到了问题,因为我试图改变一个变量,是在键和值的字典。
任何帮助将不胜感激!
5条答案
按热度按时间4urapxun1#
1.拿到原始记录
1.把它从字典里删掉
1.更新名字(记录中的第一个字段)
1.根据新键将其插入字典中
您可能希望首先确保新密钥不会覆盖现有记录。
为了清楚起见,以上内容是照原样写的。正如@DavidGarcierFer和@CenkBircanoglu所提到的,您可以使用
pop
返回记录并在一个步骤中删除它。此外,您可以提供默认值(例如None
),如果记录不存在。eanckbw92#
无法修改密钥。您必须从字典中删除上一项,并将修改后的项添加到其中。
n6lpvg4x3#
你能试试这个吗?
cczfrluj4#
使用
==
运算符返回一个布尔值。您应该使用=
来赋值。然后,如果你想重命名字典的键,你可以使用
.pop()
(参见Rename a dictionary key)来完成:ybzsozfc5#
你可以试试这个我甚至解释了代码的流程!