字典结合了python

2024-05-23 15:09:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我想合并两本字典。找了一点,但还没找到。因为我不知道它叫什么。 但我有两个口述:

数字1:

Counter({'gag': 19, 'ccc': 15, 'cct': 15, 'ctg': 15, 'tcc': 13, 'aag': 13, 'atg': 12, 'cag': 12, 'gcc': 12, 'gaa': 11, 'gat': 11, 'aac': 10, 'gtg': 10, 'cca': 9, 'gac': 9, 'acc': 9, 'ggg': 9, 'agc': 8, 'cgc': 8, 'tct': 7, 'aaa': 7, 'ttc': 7, 'atc': 7, 'cac': 7, 'aca': 7, 'gct': 6, 'ccg': 6, 'ttg': 6, 'ggc': 6, 'tgc': 6, 'tca': 6, 'tac': 6, 'gca': 5, 'ctc': 5, 'ggt': 5, 'cat': 5, 'gtt': 5, 'cgt': 5, 'ttt': 4, 'tgt': 4, 'act': 4, 'aat': 4, 'tgg': 4, 'cga': 4, 'agt': 4, 'tat': 3, 'gga': 3, 'cgg': 3, 'cta': 3, 'agg': 3, 'caa': 3, 'ctt': 3, 'gtc': 3, 'aga': 3, 'acg': 2, 'gcg': 1, 'att': 1, 'tga': 1})

第二点:

{'Phe': ['ttt', 'ttc'], 'Stop': ['tag', 'tga', 'taa'], 'Pro': ['cct', 'ccc', 'cca', 'ccg'], 'Trp': ['tgg'], 'Met': ['atg'], 'Lys': ['aaa', 'aag'], 'His': ['cat', 'cac'], 'Asp': ['gat', 'gac'], 'Start': ['atg', 'ctg', 'ttg', 'gtg', 'att'], 'Thr': ['act', 'acc', 'aca', 'acg'], 'Tyr': ['tat', 'tac'], 'Glu': ['gaa', 'cag'], 'Asn': ['aat', 'aac'], 'Val': ['gtt', 'gtc', 'gta', 'gtg'], 'Ser': ['tct', 'tcc', 'tca', 'tcg', 'agt', 'agc'], 'Cys': ['tgt', 'tgc'], 'Ile': ['att', 'atc', 'ata'], 'Leu': ['tta', 'ttg', 'ctt', 'ctc', 'cta', 'ctg'], 'Gly': ['ggt', 'ggc', 'gga', 'ggg'], 'Gln': ['caa', 'cag'], 'Arg': ['cgt', 'cgc', 'cga', 'cgg', 'aga', 'agg'], 'Ala': ['gct', 'gcc', 'gca', 'gcg']}

现在我想数一数每种氨基酸(含苯丙氨酸、脯氨酸、色氨酸等的dic2)的含量。例如: Phe有'ttt'和'ttc'我想数一数第一个dic中有多少Phe。但我不知道怎么做,有人能帮我吗?你知道吗


Tags: attgcccccatgcctttctttphe
3条回答

您可以使用默认值0计算使用此行未找到的值的总和:

sums = {k: sum(counter.get(tv, 0) for tv in v) for k, v in dictionary.items()}

假设counter是第一个映射,dictionary是第二个映射。你知道吗

您可以为总和创建一个新字典:

total = {k: sum(number1.get(subk, 0) for subk in v) for k, v in number2.items()}

如果我理解正确的话,你在找这样的东西。你知道吗

def get_count(name):
    count = 0
    for item in number2[name]:
        count += number1.get(item) or 0
    return count

get_count('Phe')

相关问题 更多 >