еще один вопрос из списка-словаря.
У меня есть подсказка с именами модулей и тестовыми именами в списке:
dictA = {('unit1', 'test1'): 10, ('unit2', 'test1'): 78, ('unit2', 'test2'): 2, ('unit1', 'test2'): 45}
units = ['unit1', 'unit2']
testnames = ['test1','test2']
Как нам найти максимум значений для каждогоtest in testnames:
Я пытался сделать следующее:
def max(dict, testnames_array):
maxdict = {}
maxlist = []
temp = []
for testname in testnames_array:
for (xunit, xtestname), value in dict.items():
if xtestname == testname:
if not isinstance(value, str):
temp.append(value)
temp = filter(None, temp)
stats = corestats.Stats(temp)
k = stats.max() #finds the max of a list using another module
maxdict[testname] = k
maxlist.append(maxdict)
maxlist.insert(0,{'Type':'MAX'})
return maxlist
Проблема в том, что я получаю вывод:
[{'Type':'MAX'}, {'test1': xx}, {'test2':xx}]
, где xx все возвращаются как одинаковые значения!!
где моя вина?какие-нибудь более простые методы?пожалуйста посоветуй.Благодарю.