作爲一個初學者,我對這個功能感到非常自豪。雖然我相信可能有做同樣的事情的更簡單,更Python的方式:你可以用單個函數創建字典嗎?
Genes = ['Gen1', 'Gen2', 'Gen3']
Mutations = ['Gen1.A', 'Gen1.B', 'Gen2.A', 'Gen3.A', 'Gen3.B', 'Gen3.C']
def RawDict(keys, values):
dictKeys = []
dictValues = []
for key in keys:
keyVal = []
for value in values:
if value.find(key) == -1:
pass
else:
keyVal.append(value)
dictKeys.append(key)
dictValues.append(keyVal)
return zip(dictKeys, dictValues)
GenDict = dict(RawDict(Genes, Mutations))
print(GenDict)
功能上面鍵(基因)內將數值(突變)的,而過於複雜(我認爲)的方式。但是我在想,如果我可以調整這個,所以我可以得到一本詞典只是這樣做:
dict(GenDict, Genes, Mutations)
print(GenDict)
我的鬥爭涉及的是,當我使用的功能中字典,這是不行的:
Genes = ['Gen1', 'Gen2', 'Gen3']
Mutations = ['Gen1.A', 'Gen1.B', 'Gen2.A', 'Gen3.A', 'Gen3.B', 'Gen3.C']
def fullDict(dictName, keys, values):
dictKeys = []
dictValues = []
for key in keys:
keyVal = []
for value in values:
if value.find(key) == -1:
pass
else:
keyVal.append(value)
dictKeys.append(key)
dictValues.append(keyVal)
dictName = dict(RawDict(Genes, Mutations))
fullDict(GenDict, Genes, Mutations)
print(GenDict)
由於GenDict沒有定義,以上只是不起作用。
你想要的輸出是什麼? – Ajax1234
一個字典,其中基因是關鍵字,突變是每個關鍵字的值。因此Gen1具有['Gen1.A','Gen1.B']作爲值等。 –
爲什麼你希望你的函數看起來像'fullDict(GenDict,Genes,Mutations)'而不是'GenDict = fullDict(基因,突變)'?這似乎很奇怪。 – sietschie