【发布时间】:2016-03-12 18:41:30
【问题描述】:
我有一个由title:substrings 构建的字典,其中前三个条目如下所示:
'1' : ['G', 'GA', 'GAA', 'GAAA', 'GAAAA', 'GAAAAA', 'GAAAAAG', 'GAAAAAGU', 'GAAAAAGUA', 'GAAAAAGUAU', 'GAAAAAGUAUG', 'GAAAAAGUAUGC', 'GAAAAAGUAUGCA', 'GAAAAAGUAUGCAA', 'GAAAAAGUAUGCAAG', 'GAAAAAGUAUGCAAGA', 'GAAAAAGUAUGCAAGAA', 'GAAAAAGUAUGCAAGAAC']
'2' : ['G', 'GA', 'GAG', 'GAGA', 'GAGAG', 'GAGAGA', 'GAGAGAG', 'GAGAGAGA', 'GAGAGAGAC', 'GAGAGAGACA', 'GAGAGAGACAU', 'GAGAGAGACAUA', 'GAGAGAGACAUAG', 'GAGAGAGACAUAGA', 'GAGAGAGACAUAGAG', 'GAGAGAGACAUAGAGG']
'3' : ['G', 'GU', 'GUC', 'GUCU', 'GUCUU', 'GUCUUU', 'GUCUUUG', 'GUCUUUGU', 'GUCUUUGU"', 'GUCUUUGU"G', 'GUCUUUGU"GU', 'GUCUUUGU"GUA', 'GUCUUUGU"GUAC', 'GUCUUUGU"GUACA', 'GUCUUUGU"GUACAU', 'GUCUUUGU"GUACAUC']
我找到了很多关于如何将它们转换为列表并创建一个 for 循环来检查 1 中的项目是否在其他中的答案,如果是,则删除它们,但我认为这对我来说不可行,因为这本字典是生成的,不是我手写的。因此,我真的不明白我应该如何解决这个问题。
【问题讨论】:
-
我尝试创建一个值列表并尝试进行类似于“if item[0] in item[1]: d.remove[item[0]”的迭代,但是逻辑错误并吐出错误
-
让我们看看我是否有这个权利,如果“G”在 1、2 和 3 中,你希望它从两个中的 2 个中删除,但保留在其中一个中。你在乎哪一个?这些值是像字符串一样的可散列对象吗?
-
@tdelaney 如果 G 在 1,2,3 中,我想将其从 1,2,3 中删除,以便在最后的列表 1,2 和 3 中每个仅包含以下字符串对他们来说是独一无二的(不在其他列表中)。这些值是字符串,是的
标签: python python-3.x dictionary duplicates unique