как найти среднее число в питоне
Учитывая 3 числа, мне нужно найти, какое число находится между двумя другими. т.е., учитывая 3,5,2 Мне нужно 3, чтобы вернуться. Я попытался реализовать это, перейдя через все три и используя условия if else, чтобы проверить, находится ли каждый из двух других. Но это кажется наивным способом сделать это. Есть ли лучший способ?
damon 02 апр. 2012, в 18:07
Поделиться
Это действительно всегда три?
alan 02 апр. 2012, в 15:57
Какой результат вы ожидаете для [1,1,2] ?
Tim Pietzcker 02 апр. 2012, в 15:58
sorted([3,5,2])[1]
tMC 02 апр. 2012, в 16:01
для [1,1,2] 1 следует принимать как среднее число
damon 02 апр. 2012, в 16:08
Показать ещё 2 комментария
Поделиться:
9 ответов
Лучший ответ
Поместите их в список, отсортируйте их, выберите средний.
Sven Marnach 02 апр. 2012, в 17:20
Поделиться
+1 за то, что не дал код 🙂
Simon Bergot 02 апр. 2012, в 15:58
моя вина! должен был подумать об этом! большое спасибо
damon 02 апр. 2012, в 16:09
Я знал, что это случится.
jamylak 02 апр. 2012, в 16:11
Просто блестящий ответ .
George 02 апр. 2012, в 16:38
Свен, помимо общего ответа, это плохо для случая с 3 числами. Если подпрограмма такого типа появляется в задаче, связанной с тяжелыми вычислениями, создание списка из трех элементов и сортировка его — это неправильно, даже для Python. Представьте себе парня в следующий раз, работающего в с ++, создающего вектор из трех чисел и сортирующего его .
Zaur Nasibov 02 апр. 2012, в 16:51
@BasicWolf: Вы тестировали? Разница не такая большая
Niklas B. 02 апр. 2012, в 16:53
@ Никлас Б. Разница действительно маленькая. Мои опасения по поводу издержек решения с отсортированным списком, и это звучит неправильно. Вы видели это: pyvideo.org/video/880/stop-writing-classes ?
Zaur Nasibov 02 апр. 2012, в 17:04
@BasicWolf: нет, но я проверю это. Я предполагаю, что простота и надежность обычно являются наиболее важными аспектами вашего кода.
Niklas B. 02 апр. 2012, в 17:06
@BasicWolf: в большинстве случаев удобочитаемость важнее, чем производительность, и вы не можете разбить sorted((a, b, c))[1] в этом отношении.
Sven Marnach 02 апр. 2012, в 17:10
Мне так смешно читать мои собственные комментарии, которым всего 3 года! В настоящее время я бы дал тот же ответ, что и @SvenMarnach.
Как найти среднее значение списка в Python
В этой статье мы рассмотрим различные способы найти среднее значение списка в списке Python. Среднее значение – это значение, которое представляет весь набор элементов данных или элементов.
Формула: Среднее значение = сумма чисел / общее количество.
Методы поиска среднего значения списка
Для вычисления среднего значения списка в Python можно использовать любой из следующих методов:
- Функция mean();
- Встроенный метод sum();
- Методы lambda() и reduce();
- Метод operator.add().
Функция mean()
Python 3 имеет модуль статистики, который содержит встроенную функцию для вычисления среднего числа. Функция statistics.mean() используется для вычисления среднего входного значения или набора данных.
Функция mean() принимает список, кортеж или набор данных, содержащий числовые значения, в качестве параметра и возвращает среднее значение элементов данных.
mean(data-set/input-values)
from statistics import mean inp_lst = [12, 45, 78, 36, 45, 237.11, -1, 88] list_avg = mean(inp_lst) print("Average value of the list:\n") print(list_avg) print("Average value of the list with precision upto 3 decimal value:\n") print(round(list_avg,3))
В приведенном выше фрагменте кода мы использовали метод statistics.round() для округления выходного среднего до определенного десятичного значения.
statistics.round(value, precision value)
Average value of the list: 67.51375 Average value of the list with precision upto 3 decimal value: 67.514
Использование функции sum()
Функция statistics.sum() также может использоваться для поиска среднего значения данных в списке Python.
Функция statistics.len() используется для вычисления длины списка, т.е. количества элементов данных, присутствующих в списке.
len(input-list)
Кроме того, функция statistics.sum() используется для вычисления суммы всех элементов данных в списке.
sum(input-list)
Примечание: среднее значение = (сумма) / (количество).
from statistics import mean inp_lst = [12, 45, 78, 36, 45, 237.11, -1, 88] sum_lst = sum(inp_lst) lst_avg = sum_lst/len(inp_lst) print("Average value of the list:\n") print(lst_avg) print("Average value of the list with precision upto 3 decimal value:\n") print(round(lst_avg,3))
Average value of the list: 67.51375 Average value of the list with precision upto 3 decimal value: 67.514
3. Использование reduce() и lambda()
Мы можем использовать функцию reduce() вместе с функцией lambda().
Функция reduce() в основном используется для применения определенной (входной) функции к набору элементов, переданных в функцию.
reduce(function,input-list/sequence)
- Первоначально функция reduce() применяет переданную функцию к первым двум последовательным элементам и возвращает результат.
- Далее мы применяем ту же функцию к результату, полученному на предыдущем шаге, и к элементу, следующему за вторым элементом.
- Этот процесс продолжается, пока не дойдет до конца списка.
- Наконец, результат возвращается на терминал или экран в качестве вывода.
Функция lambda() используется для создания и формирования анонимных функций, то есть функции без имени или подписи.
lambda arguments:function
from functools import reduce inp_lst = [12, 45, 78, 36, 45, 237.11, -1, 88] lst_len= len(inp_lst) lst_avg = reduce(lambda x, y: x + y, inp_lst) /lst_len print("Average value of the list:\n") print(lst_avg) print("Average value of the list with precision upto 3 decimal value:\n") print(round(lst_avg,3))
Average value of the list: 67.51375 Average value of the list with precision upto 3 decimal value: 67.514
Функция operator.add() для поиска среднего значения списка
Модуль operator.add() содержит различные функции для эффективного выполнения основных вычислений и операций.
Функцию operator.add() можно использовать для вычисления суммы всех значений данных, присутствующих в списке, с помощью функции reduce().
operator.add(value1, value2)
Примечание: среднее значение = (сумма) / (длина или количество элементов)
from functools import reduce import operator inp_lst = [12, 45, 78, 36, 45, 237.11, -1, 88] lst_len = len(inp_lst) lst_avg = reduce(operator.add, inp_lst) /lst_len print("Average value of the list:\n") print(lst_avg) print("Average value of the list with precision upto 3 decimal value:\n") print(round(lst_avg,3))
Average value of the list: 67.51375 Average value of the list with precision upto 3 decimal value: 67.514
Метод NumPy average() для вычисления среднего значения списка
Модуль NumPy имеет встроенную функцию для вычисления среднего значения элементов данных, присутствующих в наборе данных или списке.
Метод numpy.average() используется для вычисления среднего значения входного списка.
import numpy inp_lst = [12, 45, 78, 36, 45, 237.11, -1, 88] lst_avg = numpy.average(inp_lst) print("Average value of the list:\n") print(lst_avg) print("Average value of the list with precision upto 3 decimal value:\n") print(round(lst_avg,3))
Average value of the list: 67.51375 Average value of the list with precision upto 3 decimal value: 67.514
Python mean: как вычислить среднее или среднее значение в Python
Чтобы найти среднее значение списка в Python, используйте один из следующих двух способов.
- Используйте функции sum () и len (). Разделите сумму () на len () списка чисел, чтобы найти среднее значение.
- Используйте функцию statistics.mean () для вычисления среднего значения списка в Python.
- Использование цикла Python for.
- Использование Python numpy.mean ().
Python mean () — это встроенная функция модуля статистики, используемая для вычисления среднего числа чисел и списка. Функция mean () может вычислить среднее/среднее значение данного списка чисел. Он возвращает среднее значение набора данных, переданного в качестве параметров. Python — популярный язык для анализа данных и статистики.
Формула для вычисления среднего достигается путем вычисления суммы чисел в списке, деленной на количество чисел в списке. .
Python 3 предоставляет модуль statistics с очень полезными функциями. например, mean () , median (), mode () и т. д.
Среднее арифметическое — это сумма данных, деленная на количество точек данных.
Это мера центрального расположения данных в наборе значений, которые варьируются в диапазоне.
Вычислить среднее значение Python с использованием цикла For
В следующем примере кода мы инициализировали переменную sumOfNumbers равным 0 и использовали цикл for. Цикл Python for будет перебирать элементы, присутствующие в списке, и каждое число добавляется и сохраняется внутри переменной sumOfNumbers.
Среднее значение рассчитывается с использованием суммы sumOfNumbers, деленной на количество чисел в списке с использованием встроенной функции len ().
См. следующий код.
# app.pydef averageOfList (num): sumOfNumbers = 0 для t в num: sumOfNumbers = sumOfNumbers + t avg = sumOfNumbers/len (num) return avgprint («Среднее значение списка равно», averageOfList ([19, 21, 46, 11, 18]))
Вывод
python3 app.py Среднее значение для списка 23.0
В приведенном выше коде мы используем цикл for для суммы всех элементов, а затем делим эту сумму на несколько элементов для получения среднего значения списка в Python.
Вычислить среднее значение с помощью sum () и len ()
Python sum () — встроенная функция, которая возвращает сумму всех элементов списка. Функция Python len () дает количество элементов в списке. Мы будем использовать комбинацию этих двух встроенных функций, чтобы получить среднее значение списка.
См. Следующий код.
# app.pydef averageOfList (numOfList): avg = sum (numOfList)/len (numOfList) return avgprint («Среднее для списка», round (averageOfList ([19, 21, 46, 11, 18]), 2))
Вывод
python3 app.py Среднее значение List составляет 23,0
Python mean ()
Чтобы вычислить среднее значение в Python, используйте метод statistics.mean (). Метод mean () полезен для вычисления среднего/среднего для данного списка чисел. Он возвращает среднее значение набора данных, переданного в качестве параметров.
Среднее арифметическое — это сумма данных, деленная на количество точек данных. Это мера центрального расположения данных в наборе значений, которые различаются по диапазону. В Python мы также делим сумму заданных чисел на количество чисел, присутствующих в списке, кортеже или словаре.
Чтобы вычислить среднее значение, нам нужно импортировать модуль статистики Python , а затем мы можем использовать функцию mean, чтобы вернуть среднее значение данного списка. См. Следующий пример.
Модуль статистики предоставляет функции для вычисления математической статистики числовых (действительных) данных. Давайте посмотрим на несколько примеров модуля статистики.
# app.pyimport statisticsdata = [11, 21, 11, 19, 46, 21, 19, 29, 21, 18, 3, 11, 11 ] x = statistics.mean (данные) print (x) y = statistics.median (данные) print (y) z = statistics.mode (данные) print (z) a = statistics.stdev (данные) print (a) b = statistics.variance (data) print (b)
См. следующий вывод.
➜ pyt python3 app.py18.53846153846154191110.611435534486562112.6025641025641➜ pyt
В приведенном выше примере кода мы использовали функции Mean, mode, median, variance, stddev.
Среднее значение списка в Python
Чтобы найти среднее значение по списку, используйте метод statistics.mean (). Мы использовали SPI с 1-го по 8-й семестр. Мы рассчитаем среднее значение этих SPI.
# app.pyimport statisticsspiList = [5.55, 5.72, 7.3, 7.75, 8.4, 9, 8.8, 8.2] print (statistics.mean (spiList))
См. следующий результат.
В приведенном выше примере у нас есть восемь точек данных.
Дополнительные примеры
Сначала мы импортируем модуль статистики а затем вызовите функцию mean (), чтобы получить среднее значение данных.
# app.pyimport statisticsdata = [21, 19, 18, 46, 30] print (statistics.mean (data))

Найти среднее значение кортежа
Чтобы найти среднее значение кортежа в Python, используйте метод statistics.mean () так же, как мы находим среднее значение списка. Нам просто нужно передать кортеж в качестве параметра. Давайте вычислим среднее значение кортежа, используя следующий код.
# app.pyimport statisticstupleA = (1, 9, 2, 1, 1, 8) print (statistics.mean (tupleA))
Вывод приведенного выше кода следующий.

Он будет работать так же, как список. Он просто возвращает Среднее чисел внутри
Вычисление среднего значения словаря в Python
Чтобы вычислить среднее значение словаря, мы можем использовать метод statistics.mean (). В Словаре функция mean только считает ключи как числа и возвращает среднее значение этого словаря на основе ключей словаря.
# app.pyimport statisticsdictA = print (statistics.mean (dictA))

Вычисление среднего значения кортежа отрицательного набора целых чисел
Чтобы найти среднее значение кортежа отрицательного множества, мы используем метод statistics.mean (). В этом случае нам нужно передать отрицательный кортеж в качестве параметра функции mean (), и взамен мы получим результат.
Давайте посмотрим на кортеж отрицательных целых чисел.
# app.pyimport statisticsdata = (-11, -21, -18, -19, -46) print (statistics.mean (data))
См. следующий вывод.
➜ pyt python3 app.py-23➜ pyt
Давайте рассмотрим пример кортежа из смешанного диапазона чисел.
# app.pyimport statisticsdata = (11, 21, -18, 19, -46) print (statistics.mean (data))
См. следующий вывод.
➜ pyt python3 app.py-2.6➜ pyt
Вычислить среднее значение списка отрицательного набора целых чисел
Чтобы вычислить среднее значение списка в Python, используйте метод statistics.mean (). Мы передадим список отрицательного набора методу mean (), а на выходе мы вычислим среднее значение.
Давайте возьмем список отрицательного набора целых чисел и применим mean () на нем.
# app.pyimport statisticsdata = [-11, -21, -18, -19, -46] print (statistics.mean (данные))
См. следующий вывод.
➜ pyt python3 app.py-23➜ pyt
Давайте рассмотрим пример списка смешанного диапазона чисел.
# app.pyimport statisticsdata = [11, 21, -18, -19, 46] print (statistics.mean (data))
➜ pyt python3 app.py8.2➜ pyt
Как рассчитать среднее значение список дробей
Чтобы вычислить среднее значение списка дробей, используйте метод statistics.mean (). Сначала нам нужно импортировать модуль статистики и дробей, а затем создать дробную часть чисел, и на выходе мы получим средние значения.
# app.pyimport statisticsfrom fractions import Fraction as frdata = [ fr (1, 2), fr (44, 12), fr (10, 3), fr (2, 3)] print (statistics.mean (data))
См. следующий вывод .
➜ pyt python3 app.py49/24➜ pyt
TypeError в Python
Давайте возьмем строковые ключи в словаре Python и попробуем получить среднее значение строковых значений. Он получит ошибку, потому что мы не можем найти среднее значение строки.
См. Следующий код.
# app.pyimport statisticsdata = print (statistics.mean (data))
См. следующий вывод.
➜ pyt python3 app.pyTraceback (последний вызов последним): File "app. py ", строка 6, в печати (statistics.mean (data)) Файл"/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/statistics.py ", строка 312, в среднем T, всего , count = _sum (data) File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/statistics.py", строка 148, в _sum для n, d на карте (_exact_ratio, значения): Файл "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/statistics.py", строка 230, в _exact_ratio поднять TypeError (msg.format (type (x) .__ name __)) TypeError: can ' t преобразовать тип 'str' в числитель/знаменатель➜ pyt
Найти среднее значение с помощью функции numpy.mean ()
NumPy. Функция mean () возвращает среднее значение элементов массива. Среднее значение берется по сплющенному массиву по умолчанию, в противном случае по указанной оси.
Библиотека Numpy — это часто используемая библиотека для работы с большими мульти -мерные массивы. Он также имеет обширный набор математических функций, которые можно использовать с массивами для выполнения различных задач. Одна важная вещь t Обратите внимание: функция mean (), которая даст нам среднее значение для данного списка.
См. приведенный ниже код.
# app.pyfrom numpy import meannumber_list = [19, 21, 46, 11, 18] avg = mean (number_list) print («Среднее значение списка равно», round (avg, 2))
Вывод
python3 app.py Среднее значение List составляет 23,0
Заключение
Чтобы найти среднее или среднее значение списка в Python, мы можем использовать следующие способы.
- Использование метода statistics.mean ().
- Использование методов Python sum () и len ().
- Использование функции Numpy.mean ().
- Использование Python для цикла и метода len ().
Наконец, пример функции Python mean () завершен.
Рекомендуемые сообщения
Python с плавающей запятой ()
Нужно найти среднее арифметическое чисел
Напишите программу, которая считывает с клавиатуры два числа a и b , считает и выводит на консоль среднее арифметическое всех чисел из отрезка [a; b] , которые кратны числу 3 . В приведенном ниже примере среднее арифметическое считается для чисел на отрезке [-5; 12] . Всего чисел, делящихся на 3 , на этом отрезке 6 чисел: -3, 0, 3, 6, 9, 12−3,0,3,6,9,12 . Их среднее арифметическое равно 4.5 . На вход программе подаются интервалы, внутри которых всегда есть хотя бы одно число, которое делится на 3 .
first_value = int (input("Введите первое число: ")) second_value = int (input("Введите второе число:")) for i in range (first_value + 1, second_value): if i % 3 == 0: print (i)
Я написал это, нужно еще чтобы программа находила сред. арифм.
Отслеживать
19.6k 6 6 золотых знаков 22 22 серебряных знака 56 56 бронзовых знаков
задан 9 ноя 2020 в 11:42
popovpetrrr popovpetrrr
63 1 1 золотой знак 2 2 серебряных знака 6 6 бронзовых знаков
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
начнем с того, что написали вы её неправильно
- у вас в данном случае диапазон (a, b) , т.е. a , b не входят в диапазон, а по условиям задачи должны входить for i in range (first_value + 1, second_value):
for i in range(first_value, second_value + 1):
Теперь по среднему арифметическому — задачу можно решить несколькими способами:
способ 1:
ввести переменную sum = 0 и переменную count = 0 , для чисел кратных 3 увеличивать сумму и счётчик и по завершению цикла подсчитать среднее арифметическое
способ 2:
сформировать новый список из элементов, кратных 3, вычислить сумму элементов нового списка (функция sum ) и подсчитать среднее арифметическое, используя размер нового списка
способ 3:
чисто математический — вычислить наименьшее число больше a , кратное 3 и наибольшее число, меньшее b , кратное 3, а дальше воспользуйтесь формулой для среднего арифметического
Я написал это, нужно еще чтобы программа находила сред. арифм.
если вы не знаете питон от слова совсем, то сначала алгоритм придумайте словесный, что именно должно происходить и как
потом это легко будет закодить даже с почти нулевыми знаниями языка
