Python - 如果键相同,则将三个词典链接为一个

时间:2016-02-23 20:07:18

标签: python list parsing dictionary key

请耐心等待我,因为我是Python新手。

我在三个.txt文件中有三个词典。其中'key'是基因名称后跟一个整数值。我想创建一个字典,其中我有一个基因名称,后跟来自dict1的value1,来自dict2的value2,来自dict3的value3。

因此,如果键值相同,则将字典构建为键:(value2,value2,value3)。

这是我到目前为止我将三个txt文件定义为字典的方法。

with open(dictionaryfile1.txt, 'r') as dic1:
    dictionary1=eval(dic1.read())
with open(dictionaryfile2.txt, 'r') as dic2:
    dictionary2=eval(dic2.read())
with open(dictionaryfile3.txt, 'r') as dic3:
    dictionary3=eval(dic3.read())

以下是.txt文件中的词典。

dictionary1:

 {'YAL008W': 25, 'YBR255W': 50, 'YGR164W': 37, 'YGR131W': 40, 'YNL003C': 11,
  'YBR135W': 2, 'YBR160W': 6, 'YJL082W': 79, 'YJL142C': 4, 'YPL191C': 38,
  'YGL215W': 31, 'YKL074C': 33, 'YJL077C': 67, 'YKL096W-A': 22, 'YIL124W': 60,
  'YLR364C-A': 2, 'YPL039W': 58, 'YNL170W': 16, 'YGL141W': 62, 'YJL179W': 15,
  'YDR316W-A': 13, 'YDR316W-B': 139, 'YKL083W': 25, 'YOR009W': 25,
  'YKL029C': 395, 'YPL166W': 31, 'YKL052C': 20, 'YOL034W': 29, 'YBL008W': 42,
  'YIL062C': 2, 'YCL023C': 27}

dictionary2:

{'YAL008W': 25, 'YBR255W': 50, 'YGR164W': 37, 'YGR131W': 40, 'YNL003C': 11,
 'YBR135W': 2, 'YBR160W': 6, 'YJL082W': 79, 'YJL142C': 4, 'YPL191C': 38,
 'YGL215W': 31, 'YKL074C': 33, 'YJL077C': 67, 'YKL096W-A': 22, 'YIL124W': 60,
 'YLR364C-A': 2, 'YPL039W': 58, 'YNL170W': 16, 'YGL141W': 62, 'YJL179W': 15,
 'YDR316W-A': 13, 'YDR316W-B': 139, 'YKL083W': 25, 'YOR009W': 25,
 'YKL029C': 395, 'YPL166W': 31, 'YKL052C': 20, 'YOL034W': 29, 'YBL008W': 42,
 'YIL062C': 2, 'YCL023C': 27, 'YOL116W': 28, 'YDR196C': 5, 'YBR280C': 80,
 'YNR032W': 34, 'YNR045W': 31, 'YML105C': 2, 'YNL288W': 23}

dictionary3:

{'YAL008W': 13, 'YBR255W': 41, 'YGR164W': 23, 'YGR131W': 24, 'YNL003C': 11,
 'YBR135W': 2, 'YBR160W': 3, 'YJL082W': 39, 'YJL142C': 2, 'YPL191C': 19,
 'YGL215W': 15, 'YKL074C': 8, 'YJL077C': 51, 'YKL096W-A': 20, 'YIL124W': 29,
 'YLR364C-A': 1, 'YPL039W': 20, 'YNL170W': 7, 'YGL141W': 29, 'YJL179W': 8,
 'YDR316W-A': 12, 'YDR316W-B': 74, 'YKL083W': 16, 'YOR009W': 11,
 'YKL029C': 203, 'YPL166W': 10, 'YKL052C': 12, 'YHR025W': 2, 'YOL034W': 12,
 'YBL008W': 21, 'YIL062C': 3, 'YCL023C': 12, 'YOL116W': 4, 'YDR196C': 4,
 'YBR280C': 49, 'YNR032W': 31, 'YNR045W': 18, 'YML105C': 2, 'YNL288W': 6,
 'YIL059C': 25, 'YIL004C': 2, 'YNR018W': 33, 'YPL144W': 16}

非常感谢您的帮助。

这不是两个用户标记的重复,因为我有三个词典,其他人看看如何链接三个词典而不是两个词典是很重要的。感谢您的反馈

0 个答案:

没有答案