В настоящее время я работаю над проблемой python, которая включает в себя сбор списка из 2 подписок чисел и идентификатора для всего трех вещей. Название процедуры - compareTeams (lstTeams) и предназначено для вычисления среднего процентного процента команд в течение нескольких сезонов. Первый список - это выигранные игры, второй список - потерянные игры. Процедура, о которой идет речь, содержит список этих списков и пытается найти наивысший средний показатель, объединив игры, выигранные по общим играм, а затем погрузив их по длине списка. Оба списка имеют одинаковый размер. Затем он сортирует средние значения от максимального к наименее как пары списков, причем идентификатор помечен как первый элемент в каждом списке. Для того, чтобы привести пример:Python Сравнение средних значений по спискам
teamA = [[6, 4, 8, 5, 0], [3, 6, 0, 2, 4], 'A'] avg winning percentage = 0.56
(в случае, если мое объяснение бедным и трудно следовать за teamA, процент рассчитывается как (6/9 + 4/10 + 8/8 + 5/7 + 0/4)/5)
teamB = [[3, 6, 8, 2, 4], [3, 6, 8, 2, 4], 'B'] avg winning percentage = 0.50
teamC = [[3, 6, 8, 2, 4], [0, 0, 0, 0, 0], 'C'] avg winning percentage = 1
compareTeams([teamA, teamB, teamC]) gives [['C', 1],['A', 0.56],['B', 0.50]]
Я дал эту проблему хорошую сумму мысли, но я новичок в Python, так что я не уверен, если я правильно называя все. Используемый интерпретатор даже не отображает мою процедуру, когда я запускаю ее, что заставляет меня поверить, что я могу делать что-то неправильно. Вот мой код:
def compareTeams(lstTeams):
a = 0
x = 0
lst = []
y = lstTeams[a]
for a in range(0, len(y)):
x = x + ((float(y[0][0])/(y[1][0]))/len(y[0]))
a = a + 1
lst.append(x)
return lst.reverse(lst.sort())
Это правильно? Я что-то делаю неправильно? Любая помощь будет принята с благодарностью.
ПРИМЕЧАНИЕ: Я использую python 2.7 для этого.
Это прекрасно работает! Спасибо, Ашвини. Хотя, если я могу спросить, что здесь делает ключ и почтовый индекс? Я никогда не видел эти ключевые слова раньше. – CodeRook
@Gabe См. Примеры некоторых zip в [docs] (http://docs.python.org/2/library/functions.html#zip). 'key' используется, чтобы сообщить функции сортировки, какое значение должно использоваться для сравнения элементов. Поэтому здесь я использовал второй элемент из каждого списка для сравнения. http://docs.python.org/2/howto/sorting.html –
А, это имеет смысл с тем, что происходит тогда. Очень признателен. – CodeRook