Я пишу функцию, которая возьмет параметр и, помимо прочего, сделает словарь. Я хотел бы, чтобы имя слова было основано на имени входного файла. Скажем, входной файл ht равен 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
Как называется словарь? Вы имеете в виду имя переменной? Если да, что вы пытаетесь сделать? –
Пожалуйста, перепишите свой вопрос с большей ясностью. –