我有一个defaultdict(list),我用来simplejson.dumps(my_defaultdict)将其输出defaultdict为 JSON 格式。我正在使用来自http://bl.ocks.org/mbostock/4063570 的树状图的 HTML 代码,但我试图将我的defaultdict信息转换为作者正在使用的 JSON 文件的格式。此 JSON 文件名为:/mbostock/raw/4063550/flare.JSON并且可以在此链接中找到:http://bl.ocks.org/mbostock/raw/4063550/flare.json。
所以这是我的 defaultdict 数据:
my_defaultdict = {5: ['child10'], 45: ['child92', 'child45'], 33:['child38']}
json_data = simplejson.dumps(my_defaultdict)
Run Code Online (Sandbox Code Playgroud)
所以我当前的 json_data 看起来像这样:
{
"5": [
"child10"
],
"45": [
"child92",
"child45"
],
"33": [
"child38"
]
}
Run Code Online (Sandbox Code Playgroud)
因此,在我的理解中,数字将是相应的“名称”:“5”,然后我的 JSON 格式文件也会将孩子作为“孩子”。就像现在一样,我的 JSON 格式输出不在树状图的 HTML 代码中运行。
预期的结果是这样的:
{
"name": "flare",
"children": [
{
"name": "5",
"children": [
{
"name": "child10", "size": 5000},
] …Run Code Online (Sandbox Code Playgroud) 我是Python的新手.我有两个字典,它们共享相同的键,但键的值不同.我想比较两个词典,以便我得到每个键的值的数值差异.例如:
dict1 = {'hi' : 45, 'thanks' : 34, 'please' : 60}
dict2 = {'hi' : 40, 'thanks' : 46, 'please' : 50}
换句话说,我想收到第三本字典或一对配对列表,它们会显示这两个字典中值的数字差异(从dict2中减去dict1的值(反之亦然).因此它会像这个:
dict_difference = {'hi' : 5 , 'thanks' : -12, 'please' : 10}
我知道从另一个字典中减去一个字典:
dict1 = Counter({'hi' = 45, 'thanks' = 34, 'please' = 60})
dict2 = Counter({'hi' = 40, 'thanks' = 46, 'please' = 50})
dict3 = dict1-dict2 #将仅返回正值,因此它将给出:
dict3 = {'hi'= 5, 'please' = 10} #这不是我想要的.
我还想过将字典转换成一对列表(我认为这就是它的调用方式):
dictlist = []
for key, value in dict1.iteritems():` …Run Code Online (Sandbox Code Playgroud) 我有一个返回字典的函数.
我希望能够在代码中多次访问和使用该字典,而无需每次都调用生成该字典的函数.换句话说,调用函数一次,但使用它返回多次的字典.
所以这样,字典只构造一次(并且可能存储在某个地方?),但在脚本中多次调用和使用.
def function_to_produce_dict():
dict = {}
# something
# something that builds the dictionary
return dict
create_dict = function_to_product_dict()
# other code that will need to work with the create_dict dictionary.
# without the need to keep constructing it any time that we need it.
Run Code Online (Sandbox Code Playgroud)
我已阅读其他帖子,例如: 在不使用`global`的情况下访问函数外部的函数变量
但我不确定通过将函数声明为全局而使用function_to_produce_dict()将使字典无需每次构建都可以访问,通过一次又一次地调用该函数.
这可能吗?