我现在有一本词典,其中有些条目是相关的。相互关联的项目总是遵循此处所示的模式:
{ "item" : { "foo" : "bar", "fizz" : "buzz"},
"itemSuper" : { "boo" : "far", "bizz" : "fuzz"},
"itemDuper" : { "omg" : "wtf", "rofl" : "lmao"}}
如您所见,所有相关字典的键都有一个共同的子串,该子串等于其中一个字典的完整键。我想浏览一下我的字典,它将这些相关组的所有内容合并到单个字典中,这些字典的键是完成匹配的子字符串。因此,最终目标是为所有这些群体提供这样的服务:
{ "item" : { "foo" : "bar", "fizz" : "buzz", "boo" : "far", "bizz" : "fuzz", "omg" : "wtf", "rofl" : "lmao"}}
子字符串总是键的前导部分,但在组之间可能是任意的。所以除了上面的"item", "itemSuper" and "itemDuper"
之外,还有"thingy"
,"thingySuper"
,和"thingyDuper"
,还有其他类似的。你知道吗
子字符串有三种可能的后缀;我们称它们为Super
、Duper
和Uber
。我感兴趣的任何一组项目都可以包含其中的任何一个或全部三个,但没有其他可能出现的后缀。你知道吗
我会这样做:
输出:
注意这个解决方案已经就位(它改变了
data
),我使用了for ... in list(...)
——这是至关重要的,因为否则我将无法在循环内del
。你知道吗输出
输出
相关问题 更多 >
编程相关推荐