实例化嵌套字典

2024-06-07 05:41:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图实例化一个嵌套字典,它包含另一个字典作为键,并且每个字典都包含另一个字典。我知道在嵌套和嵌套的字典中有哪些键以及有多少个键,但是我不知道在上面的字典中有多少个键和什么键(它将是OrderedDict,键将是整数,但我不知道有多少)。在

上面的字典包含整数作为键,字典作为值-每个字典都有3keys = 'forth','back'和{}。在

'forth'和{}有另一个字典作为它们的值。每个dict(值)都包含这些键

'arr_date','arr_place','dep_date','dep_place'.

例如“forth”dict是:

^{pr2}$

所以重点是我想用这些键实例化字典,但问题是上层字典可以有变量整数。它可以包含这些键[1,2,3,4],但也可以包含[1,2,3,4,5,6,7,8]。在

这是nested和nested nested的实例化示例。所以这将是上面字典中每个键的值(我不确定条件是否有效)。在

dict.fromkeys(['forth','back','price'], dict.fromkeys(['arr_date','arr_place','dep_date','dep_place'],None) if key in ['forth','back'] else None)

我想告诉代码尽可能多的默认值和键。在

有什么建议吗?在

编辑:上面6行的条件不起作用,所以任何人都可以告诉你怎么做。在

编辑二:所以这段话应该是:

 {1:{'forth':{'arr_date':'15-8-4','arr_place':'Atlanta','dep_date':'15-8-4','dep_place':'New York'},'back':{'arr_date...},'price':158},2:{....}}

Tags: 实例date字典backplace整数条件price
2条回答

假设您希望在嵌套dict中使用None值实例化,那么这应该会生成您要查找的空有序dict:

from collections import OrderedDict
d=OrderedDict()
for x in range(1,6):
    d[x]={key:dict.fromkeys(['arr_date','arr_place','dep_date','dep_place'],None) if key in ['forth','back'] else None for key in ['forth','back','price']}

得出以下结论:

^{pr2}$

也许是这样的:

def inner_dict(vals = []):
    my_vals = vals  + [None]*(4 - len(vals))
    my_keys = ['arr_date','arr_place','dep_date','dep_place']
    return dict(zip(my_keys,my_vals))

def middle_dict(fvals = [], bvals = [], price = None):
    d = {"forth": inner_dict(fvals),"back":inner_dict(bvals), 'price': price}
    return d

典型用途:

^{pr2}$

相关问题 更多 >