我在這個任務上遇到了幾個小時的麻煩,而且我只是停留在做什麼。遞歸地找到正確的讀取順序
首先,我需要一個函數,它接受一個字典參數,然後返回與最大值關聯的鍵。這是我已經試過:
def findKeyForLargestValue(d):
maxKey = ''
maxValue = 0
for name in d:
for subName in d[name]:
d = d[name][subName]
if d > maxValue:
maxKey = subName
return maxKey
然後我需要做一個函數,需要一個字符串「名稱」和一本字典「重疊」作爲以讀取名稱必須返回一個列表參數中,他們代表的基因組序列:
`DEF findOrder(姓名,重疊):
readOrder = []`
我需要使用函數findKeyForLargestValue(d)其它功能的內部。我需要使用base case,它應該返回[name]和遞歸大小寫,它應該返回[name] + findOrder(nextName),其中nextName是與當前讀取(名稱)右端重疊最大的讀取名稱。
任何幫助表示讚賞,因爲我真的迷路了。甚至不確定findKeyForLargestValue的代碼是否正確
「基因組序列」? – asheeshr
對於你的第一個問題:'import operator; d = {'a':1,'c':3,'b':2}; sort(d.iteritems(),key = operator.itemgetter(1))',返回一個元組列表,按鍵排序:'[('a',1),('b',2),('c ',3)]'。或者更好,只是'max'而不是排序(參見mgilson的回答)。 – miku