我正在寻找删除字典的键时,它的值都是相同的。简而言之,我试图去除只有一个物种的任何群集。 我的数据看起来像这样:当多个值相同时删除字典密钥
11554 sulc
11554 rubr
11554 rugi
11554 turc
11555 rubr
11555 rugi
11555 sulc
11555 turc
11556 rugi
11556 rugi
11556 rugi
数目对应于群集名称,和所述第二柱,其属于它的种类的名称。 在这个例子中,我想删除集群11556(它只有一个物种)。 我用了一本字典,但我不确定如何删除只有一个值的键。并追踪它们!
任何建议?
EDIT附加代码:
cluster = {}
my_file = open('out.txt')
for line in my_file:
columns = line.strip().split('\t')
name = columns[0]
species = columns[1]
cluster[name] = species
def remove_duplicates(d):
encountered_entries = set()
for key, entry in cluster.items():
if (in encountered_entries:
del d[key]
else:
encountered_entries.add(key, entry)
文件能否请你展示你试过的代码? – thefourtheye
如果您为每个键维护单个值,那么键'11554','11555'和'11556'具有相同的值'rugi',您想要删除与您之前键中已有的值相同的所有键。对? –
“当它的关键字完全相同时” - 你可能会误解词典的工作原理。一个字典将每个键映射到** a **值 - 一个键不能出现两次,或者'd [that_key]'返回什么? – user2357112