import collections
dic = {'ATAA':5, 'GGGG':34, 'TTTT':34, 'AGAA':1}
del dic[list({k: v for k, v in sorted({k:v for k,v in dic.items() if len(set(k)) == 2}.items(), key=lambda item: item[1])}.keys())[0]]
import collections
from collections import defaultdict
#
#This will give us {'ATAA': 5, 'AGAA': 5}, we have located the different keys
dictionary = {'ATAA':5, 'GGGG':34, 'TTTT':34, 'AGAA':5}
lowest = {k: v for k, v in sorted({k:v for k,v in dictionary.items() if len(set(k)) == 2}.items(), key=lambda item: item[1])}
#
#This will give us ['ATAA', 'AGAA']. Checks for all keys with similar values.
grouped = defaultdict(list)
for key in lowest:grouped[lowest[key]].append(key)
simKeys = min(grouped.values(), key=len)
#
#This will check if we have to delete many keys or just one
if len(simKeys) > 1:x = {k:v for k,v in dictionary.items() if k not in simKeys}
if len(simKeys) == 1:del dictionary[list(lowest.keys())[0]]
#
这是我自制的食谱。首先,我们收集具有唯一字符的所有关键点。然后我们按键对这本新词典进行排序。在您的情况下,我们将以
{'AGAA': 1, 'ATAA': 5}
结束,这意味着我们可以从字典中删除AGAA
输出
现在还有更多。如果您有一些具有类似值的键会怎么样。上述代码将不起作用。我花了最后几分钟准备了一些新代码
我会把它分解
相关问题 更多 >
编程相关推荐