Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 循环遍历字典,将字典键与值列表匹配,并追加字典_Python 3.x_Dictionary_Merge_Python Requests_Biopython - Fatal编程技术网

Python 3.x 循环遍历字典,将字典键与值列表匹配,并追加字典

Python 3.x 循环遍历字典,将字典键与值列表匹配,并追加字典,python-3.x,dictionary,merge,python-requests,biopython,Python 3.x,Dictionary,Merge,Python Requests,Biopython,我有两个字典(dict_a和dict_b),它们是使用biopython创建的,用于解析我的fasta文件。如果在dict_b键中找到dict_a键(即基因名),我想将dict_a与来自dict_b的匹配键(基因名)的值附加在一起(并非来自dict_a的所有键都在dict_b中) 到目前为止,我已经创建了两个字典和一个来自dict_a keys(list_a)的基因名列表 如果dict_a中的键存在于dict_b中,我需要用dict_b的值附加dict_a。我需要帮助循环dict_b以查找与di

我有两个字典(dict_a和dict_b),它们是使用biopython创建的,用于解析我的fasta文件。如果在dict_b键中找到dict_a键(即基因名),我想将dict_a与来自dict_b的匹配键(基因名)的值附加在一起(并非来自dict_a的所有键都在dict_b中)

到目前为止,我已经创建了两个字典和一个来自dict_a keys(list_a)的基因名列表

如果dict_a中的键存在于dict_b中,我需要用dict_b的值附加dict_a。我需要帮助循环dict_b以查找与dict_a键(我放入列表_a)的匹配项,然后附加dict_a

提前感谢您的帮助!如果我不够清楚,请告诉我

dict_a = SeqIO.to_dict(SeqIO.parse(dict_a_path, "fasta"))
dict_b = SeqIO.to_dict(SeqIO.parse(dict_b_path, "fasta"))

list_a = list(dict_a.keys())
如果
dict_a
中存在
dict_b
中的键,我需要在
dict_a
中附加
dict_b
的值

只需分别使用中的和中的,您就可以迭代一个dict的键,并检查另一个dict中是否有一个键:

for key in dict_a:
    if key in dict_b:
        dict_a[key].append(dict_b[key])

谢谢我试过了,但没用。我收到一条错误消息“AttributeError:'SeqRecord'对象没有属性'append'”。我想这是因为我的字典是使用biopython从fasta文件创建的。@jws不幸的是,我不知道biopython,无法进一步帮助您。在阅读文档时,您似乎无法对seqRecord进行变异,但我很可能弄错了。谢谢您的帮助!我想我用了dict_a[key].append.features(dict_b[key])合并了字典,然后我把它们写进了一个文件,我现在正在想如何拆分行。再次感谢@jws很高兴你能解决你的问题。我鼓励你把它的修正作为你自己问题的答案。这很可能在将来对其他人有用