所以,这个问题很难浓缩到标题中,但这里有一个详细的解释
我有一个大型字典,它有数千个键值对,可以有以下示例:
dict = {'apple' : ['mint', 'nutmeg', 'cinnamon'], 'mint' : ['apple', 'orange', 'banana']}
请注意,“apple”是一个键,它将列表作为其值,并且列表包含“mint”元素
在我的大字典中的某个地方,“mint”也可能是一个键,它可能有一个包含“apple”元素的水果列表。因为它是字典第二个元素中的键
问题是我想保留apple和mint这对,不管哪一个是关键,但我想要一个精致的词典,它们不会形成重复的
因此,所需词典为:
dict_2 = {'apple' : ['mint', 'nutmeg', 'cinnamon'], 'mint' : ['orange', 'banana']}
如果“薄荷”列表中的“苹果”元素已被删除
或
dict_2 = {'apple' : ['nutmeg', 'cinnamon'], 'mint' : ['apple', 'orange', 'banana']}
“苹果”列表中的“薄荷”元素已被删除
编辑:我找到了这个问题的解决方案。你可以在下面找到它
因为这看起来像是家庭作业,而且你还没有展示任何工作或者问过一个特定的问题,所以我会给你一些算法的提示,但是编写代码取决于你
你想
迭代字典中的每个
key, value
例如
key = "apple"; value = ['mint', 'nutmeg', 'cinnamon']
v
:mydict
包含键v
,mydict[v]
处的列表是否包含key
李>v
添加到new_list
v
mydict[key]
设置为新创建的new_list
将其转换为代码非常简单,您甚至可以将其作为一个很酷的两行程序来编写。如果您遇到问题并有一个特定的问题,请随时提问
在
mydict
上运行此算法的代码后,我得到:下面的代码解决了这个问题。如果有人想通过做一行漂亮的单行来炫耀自己,请随意:)
相关问题 更多 >
编程相关推荐