首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除python字典中包含另一个键子集的值的键。

删除python字典中包含另一个键子集的值的键。
EN

Stack Overflow用户
提问于 2015-07-22 10:50:10
回答 1查看 141关注 0票数 1

我有一个使用defaultdict生成的字典

代码语言:javascript
复制
{"GGGAAATTTCCCTTTGGGAAACGG": ["9/1", "9/2", "1/1.1", "9/2.1"],
 "GGGAAATTTCCCTTTGGGAAAGCC": ["9/2", "9/2.1"],
 "GGGAAATTTCCCTTTGGGAAAGGG": ["1/1", "1/2", "9/1", "1/1.1"]}

其中一个企业在其价值方面属于另一个企业的子集:

代码语言:javascript
复制
"GGGAAATTTCCCTTTGGGAAAGCC": ["9/2", "9/2.1"]

的子集

代码语言:javascript
复制
"GGGAAATTTCCCTTTGGGAAACGG": ["9/1", "9/2", "1/1.1", "9/2.1"]

我将如何折叠字典,以便最终得到这些结果中的任何一个?

代码语言:javascript
复制
{"GGGAAATTTCCCTTTGGGAAACGG": ["9/1", "9/2", "1/1.1", "9/2.1"],
 "GGGAAATTTCCCTTTGGGAAAGGG": ["1/1", "1/2", "9/1", "1/1.1"]}

代码语言:javascript
复制
{["GGGAAATTTCCCTTTGGGAAACGG", "GGGAAATTTCCCTTTGGGAAAGCC"]:
    ["9/1", "9/2", "1/1.1", "9/2.1"],
 "GGGAAATTTCCCTTTGGGAAAGGG":
    ["1/1", "1/2", "9/1", "1/1.1"]}

编辑:

因此,按照我的要求,这是我的尝试:

代码语言:javascript
复制
#dd is my defaultdict
for keys, values in dd.iteritems():
        if all(for item in values:
                if item in dd.items():
                    return True
                else:
                    return False):
             print keys
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-22 11:41:31

你可以试试这个

代码语言:javascript
复制
mydict = {"GGGAAATTTCCCTTTGGGAAACGG": ["9/1", "9/2", "1/1.1", "9/2.1"],
 "GGGAAATTTCCCTTTGGGAAAGCC": ["9/2", "9/2.1"],
 "GGGAAATTTCCCTTTGGGAAAGGG": ["1/1", "1/2", "9/1", "1/1.1"]}

>>>dict([i for i in mydict.items() if not any(set(j).issuperset(set(i[1])) and j!=i[1] for j in mydict.values())])

{'GGGAAATTTCCCTTTGGGAAACGG': ['9/1', '9/2', '1/1.1', '9/2.1'],
 'GGGAAATTTCCCTTTGGGAAAGGG': ['1/1', '1/2', '9/1', '1/1.1']}

或者简单的

代码语言:javascript
复制
for i in mydict.items():
    for j in mydict.values():
        if i[1]!=j:
            if set(j).issuperset(set(i[1])):
                mydict.pop(i[0])

>>>mydict
{'GGGAAATTTCCCTTTGGGAAACGG': ['9/1', '9/2', '1/1.1', '9/2.1'],
 'GGGAAATTTCCCTTTGGGAAAGGG': ['1/1', '1/2', '9/1', '1/1.1']}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31561006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档