在从列表中读取键之后,我需要更新字典中的值。例如
d1={“sun”:{“mon”:“111”},“tue”:{“wed”:“222”},“thu”:{“fri”:{“sat”:“333”}}}和l1=[“thu”,“fri”,“sat”]。
这里我需要将d1[“thu”][“fri”][“sat”]
的值更改为444
。
请告诉我如何编写一个函数,将d1
、l1
和新值作为参数,并返回更新后的字典。
您可以获取最后一个dict(需要更新)并更新其值。使用reduce函数非常简单
from functools import reduce
def update_dict(nested_dict, key, value):
last_dict = reduce(lambda d, k: d[k], key[:-1], nested_dict)
last_dict[key[-1]] = value
输出:
>>> d = {'a': {'b': 1, 'c': 2}}
>>> update_dict(d, ['a', 'b'], 2)
>>> d
{'a': {'b': 2, 'c': 2}}
或者你可以创建一个新的dict并用它来更新原来的dict
def create_update_dict(keys, val):
if len(keys) == 1:
return {keys[0]: val}
else:
return {keys[0]: create_update_dict(keys[1:], val)}
def update_dict_val(d, val, keys):
update_dict = create_update_dict(keys, val)
d.update(update_dict)
return d
我有这个json 我想生成两个变量,比如 它们在和 我读过这篇文章,但它只适用于地图,但我的json是嵌套json。我怎样才能得到结果?
我是一个新的Java程序员,来自Python背景。我有天气数据被收集/返回为一个JSON嵌套键,我不明白如何在这种情况下拉出值。我肯定这个问题以前有人问过,但是我发誓我已经谷歌了很多,似乎找不到答案。现在我使用的是json-简单,但我尝试切换到Jackson,但仍然不知道如何做到这一点。由于Jackson/Gson似乎是最常用的库,我希望看到使用其中一个库的示例。下面是数据的示例,后面是我到目前为
问题内容: 谁能告诉我如何在嵌套列表中调用索引? 通常我只写: 但是如果我有一个带有嵌套列表的列表,如下所示: 我想分别浏览每个索引? 问题答案: 如果您确实需要索引,则可以按照内部列表再次执行以下操作: 但是遍历列表本身是更pythonic的: 如果您确实需要索引,也可以使用:
问题内容: 我是来自Python的新Java程序员。我有正在收集/返回为带有嵌套键的JSON的天气数据,而且我不了解在这种情况下如何提取值。我敢肯定这个问题已经被问过了,但是我发誓我已经用Google搜索了很多东西,但是我似乎找不到答案。现在我正在使用json- simple,但我尝试切换到Jackson,但仍然不知道如何执行此操作。由于Jackson / Gson似乎是使用最频繁的库,因此,我很
问题内容: 我要删除重复的项目,重复的项目可以撤消。结果应为: 如何在Python中实现? 问题答案: 如果订单很重要,您可以随时使用OrderedDict
问题内容: 我该如何打开一个列表,例如: 进入列表列表,例如: 即我想将有序元素分组在列表中,并将其保留在有序列表中。我怎样才能做到这一点? 谢谢 问题答案: 假设data_list的长度是三的倍数