gpt4 book ai didi

Python - 如何在字典中添加多个键和值

转载 作者:太空宇宙 更新时间:2023-11-04 09:56:40 27 4
gpt4 key购买 nike

我正在尝试动态添加字典值和键。

例子:

首先我将字典作为:

dict1 = {'ID':2048, 'Name':'john', 'Father Name':'David'}

然后在下一次迭代中字典应该更新如下:

dict1 = ({'ID':2048, 'Name':'john', 'Father Name':'David'}, {'ID':2054, 'Name':'steve', 'Father Name':'Bird'})

那么下一次迭代将是

dict1 = ({'ID':2048, 'Name':'john', 'Father Name':'David'}, {'ID':2054, 'Name':'steve', 'Father Name':'Bird'}, {'ID':2046, 'Name':'Calvin', 'Father Name':'Adam'})

等等......

然后我必须按照下面的 ID 对 dict1 进行排序:

dict1 = ({'ID':2046, 'Name':'Calvin', 'Father Name':'Adam'}, {'ID':2048, 'Name':'john', 'Father Name':'david'}, {'ID':2054, 'Name':'steve', 'Father Name':'Bird'})

我试过下面的代码:

dict1 = {}

## Here Candidate_ID, Candidate_Name and Candidate_Father_Name will be updated as per the script flow.
dict1.update({'ID': Candidate_ID, 'Name': Candidate_Name, 'Father Name' : Candidate_Father_Name)

请建议如何使用相同的值(ID、姓名、父亲姓名)更新字典中的键,然后用值“ID”对字典进行排序。

最佳答案

您想将其收集在字典列表中,因为您正在寻找每个字典都是包含相同键的信息的集合。字典只能保存唯一的键,所以为了能够按照您希望的方式构建字典,您需要一个支持这一点的数据结构。这里的列表是一个很好的候选者。

所以,你想要这样的东西:

data = []
user_data = {'ID':2048, 'Name':'john', 'Father Name':'David'}
data.append(user_data)
new_user_data = {'ID':2049, 'Name':'bob', 'Father Name':'McBobsalot'}
data.append(new_user_data)

数据输出:

data = [{'ID':2048, 'Name':'john', 'Father Name':'David'}, {'ID':2049, 'Name':'bob', 'Father Name':'McBobsalot'}]

另一种看待这个问题的方法,可能仍然有一个字典的字典,但你需要一些重组。考虑一下,将“ID”本身作为每个字典的键,并且所述键的值将是感兴趣的字典。为了帮助说明这一点,请看一下它的外观:

data = {
2048: {'ID':2048, 'Name':'john', 'Father Name':'David'},
2049: {'ID':2049, 'Name':'bob', 'Father Name':'McBobsalot'}
}

添加到字典的一个非常简单的例子是这样的:

data = {}
new_data = {'ID':2048, 'Name':'john', 'Father Name':'David'}
data[new_data['ID']] = new_data

一个非常简单的方法来帮助动态支持这个,你只需传递你的字典和你想要添加的数据:

def add_data(your_dict, new_data):
your_dict[new_data['ID']] = new_data
return your_dict

关于Python - 如何在字典中添加多个键和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45532089/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com