我正在寫一個函數,它將接受一個參數,並且還包括一個字典。我希望字典的名稱基於輸入文件的名稱。說輸入文件是input.xml
,我想字典的名稱是input
。理想情況下我會用這樣的:在函數中定義字典名稱
def function(input):
for x in y: list(get value)
input[:4][key] = [value]
,如果你知道一個更好的方式來做到這一點,但我現在使用的是功能的額外的名字,我想知道:
def function(input, dictname):
for x in y: list(get value)
dictname[key] = [value]
現在我只是給我的函數添加了第二個名字,但我想知道是否有辦法做到這一點,以減少輸入。
編輯
我包括函數的更長的版本我使用這樣你們可以獲取上下文。這使用BioPython模塊遍歷XML文件的匹配。我使用[temp]來保存每個查詢的匹配,然後爲每組查詢/匹配創建一個字典。我希望這個詞典的命名與我的輸入文件相同。
from Bio.Blast import NCBIXML
def make_blast_dictionary(blastxml, maxhits, blastdict):
temp=[]
for record in NCBIXML.parse(open(blastxml):
for number, align in enumerate(record.alignments):
if number == int(maxhits): break
temp.append(str(align.title).split("|")[1])
blastdict[str(record.query_id)] = [temp]
老實說,這並沒有太大的感覺給我。爲什麼不只是從你的函數返回一個字典? – Xion 2011-12-30 18:22:19
字典的名稱是什麼?你的意思是變量的名字?如果是這樣,你想做什麼? – 2011-12-30 18:22:35
請更清晰地重寫您的問題。 – 2011-12-30 18:24:25