我希望能夠加入這兩個「字典」存儲在「INDATA」和「pairdata」,但是這個代碼,如何加入由Bio.SeqIO.index創建的兩個或更多詞典?
indata = SeqIO.index(infile, infmt)
pairdata = SeqIO.index(pairfile, infmt)
indata.update(pairdata)
產生以下錯誤:
indata.update(pairdata)
TypeError: update() takes exactly 1 argument (2 given)
我有使用,
indata = SeqIO.to_dict(SeqIO.parse(infile, infmt))
pairdata = SeqIO.to_dict(SeqIO.parse(pairfile, infmt))
indata.update(pairdata)
它不工作嘗試,但由此產生的字典佔用太多的內存是因爲我有INFILE和pairfile的大小實用。
我已經探索了最後的選擇就是:
indata = SeqIO.index_db(indexfile, [infile, pairfile], infmt)
這完美的作品,但速度很慢。有誰知道我是否可以成功地加入上述第一個示例中的兩個索引?
我很新的類和繼承。我希望能夠遍歷MultiIndexDict,是否有可能繼承SeqIO.index中的方法,例如, 'keys()'或'iterkeys()'迭代器?我可以只做'class MultiIndexDict(SeqIO.index):'? – benjsmith
你需要定義一個iterkeys方法,它返回所有兒童字典中的所有鍵。 – peterjc