我正在尝试拼合嵌套的字典:
dict1 = {
'Bob': {
'shepherd': [4, 6, 3],
'collie': [23, 3, 45],
'poodle': [2, 0, 6],
},
'Sarah': {
'shepherd': [1, 2, 3],
'collie': [3, 31, 4],
'poodle': [21, 5, 6],
},
'Ann': {
'shepherd': [4, 6, 3],
'collie': [23, 3, 45],
'poodle': [2, 10, 8],
}
}
我想显示列表中的所有值:[4、6、3、23、3、45、2、0、6、1、2、3,…,2、10、8]
我的第一个想法是这样做:
dict_flatted = [ i for name in names.values() for dog in dogs.values() for i in dog]
虽然我得到了错误。我很乐意提供处理技巧。
您可以如下使用简单的递归函数。
def flatten(d):
res = [] # Result list
if isinstance(d, dict):
for key, val in d.items():
res.extend(flatten(val))
elif isinstance(d, list):
res = d
else:
raise TypeError("Undefined type for flatten: %s"%type(d))
return res
dict1 = {
'Bob': {
'shepherd': [4, 6, 3],
'collie': [23, 3, 45],
'poodle': [2, 0, 6],
},
'Sarah': {
'shepherd': [1, 2, 3],
'collie': [3, 31, 4],
'poodle': [21, 5, 6],
},
'Ann': {
'shepherd': [4, 6, 3],
'collie': [23, 3, 45],
'poodle': [2, 10, 8],
}
}
print( flatten(dict1) )
问题内容: 我有一些这样的Python字典: 例如 我需要搜索字典中是否有字典,并使用来计算。但是,如果整个字典中没有任何字典,则需要继续 下一个 字典。 这是我的尝试: 问题答案: 你近了 如果您需要知道内部s中有多少个作为键,则可以: 之所以可行,是因为每个密钥只能进入一次,因此您只需测试密钥是否退出即可。返回或等于和,因此是的出现次数。
问题内容: 我在Scala和Java之间遇到编译问题。 我的Java代码需要一个 我的scala代码有一个 我收到编译错误: 似乎scala.collection.JavaConversions不适用于嵌套集合,即使Vector可以隐式转换为Iterable。除了遍历scala集合并手动进行转换之外,我还能做些什么使这些类型起作用? 问题答案: 应该弃用恕我直言。您最好使用来明确说明转换的时间和地
问题内容: 如何在Python中打印深度约为4的字典?我尝试使用进行漂亮的打印,但是没有用: 我只是想为每个嵌套添加一个缩进(),以便获得如下内容: 等等 我怎样才能做到这一点? 问题答案: 我不确定您希望格式看起来如何,但是可以从这样的函数开始:
本文向大家介绍Python 语言嵌套集合,包括了Python 语言嵌套集合的使用技巧和注意事项,需要的朋友参考一下 示例 导致: 而是使用frozenset:
问题内容: python初学者在这里。 我有2个要合并的嵌套列表: 我正在寻找的输出是: 可以在没有任何外部库的情况下完成此操作吗?注意:len(list1)= len(list2) 问题答案: 使用函数的功能并列出理解:
如何聚合一个值在嵌套在Elasticsearch嵌套位置?我对一个嵌套对象没有问题,但在嵌套对象内的嵌套我感到困惑... 样本数据: 欲望结果: 在索引映射中,我将cat_a和条目字段的类型设置为嵌套,当我从工具字段查询聚合时,在cat_a的根(级别1)中没有问题,并且可以工作,但是在聚合中在rx_a(这是在第2级)我不能检索结果,它或空或显示错误,因为我的错误查询。 查询级别1 agg: 如何处