l = [ 1, 10, 4, 2, 4, 3, 3, 1, 1, 3]
# moda
repeticiones = 0
for i in l:
apariciones = l.count(i)
if apariciones > repeticiones:
repeticiones = apariciones
modas = []
for i in l:
apariciones = l.count(i)
if apariciones == repeticiones and i not in modas:
modas.append(i)
print "moda:", modas
После того, как видит cГіdigo оцениваются две части, будучи второй, которая выдает моды согласно частоте mГЎxima найденная в первой части.
AquГ - anГЎlisis для l = [ 1, 10, 4, 2, 4, 3, 3, 1, 1, 3]
. SГіlo нужен доводить до сведения, что положения в списках начинают считаться с нуля (0
).
# Primer Parte
repeticiones = 0
for i in l:
apariciones = l.count(i)
if apariciones > repeticiones:
repeticiones = apariciones
print(i, apariciones, repeticiones)
# se imprime
# 1 3 3
funciГіn l.count(i)
считает элементы, которые есть в списке l
, в первой iteraciГіn i es igual a 1
, потому что - элемент posiciГіn нуль l[0]
... print(l[0]) # se imprime 1
В этом моменте переменная apariciones
берет стоимость 3
, потому что в списке l
повторяют nГєmero 1
три раза.
Потом имеет по отношению к себе условного if
, ввиду того, что переменная repeticiones
изначально - нуль (0
) она expresiГіn apariciones > repeticiones
serГЎ True
и repeticiones
он asignarГЎ стоимость 3
, в этом смысле получает последовательность 1, 3, 3 (l[0], apariciones, repeticiones)
, И когда подходит близко к шестой posiciГіn l[5]=3
- помнить, что он начинает в нуле подсчет , - 3
повторяют три раза тогда как уже повторения стоят 3
в условном if
по отношению к себе имеет следующая expresiГіn 3>3
, это serГЎ False
и не detectarГЎ, что nГєmero три (3
) из списка l
tambiГ©n.
Обобщая первая часть функционирует, чтобы обнаруживать самую большую частоту , но sГ - существуют элементы в списке, у которых есть та же частота, tomarГЎ, информация об элементе mГЎs prГіximo в нее posiciГіn нуль (
0
) вышеупомянутого списка.
# Segunda Parte
modas = []
for i in l:
apariciones = l.count(i)
if apariciones == repeticiones and i not in modas:
modas.append(i)
print( "moda:", modas)
# Se imprime
# moda: [1, 3]
Восток cГіdigo ищет в частности, которые являются модами - даже повторенными , - в этом смысле, значимое вторая часть , он состоит та expresiГіn в том, что он идет внутри условного if
: Такой
apariciones == repeticiones and i not in modas
Как repeticiones
равен трем (3
) - стоимость, взятая из первой части - повторяет новости список l
Тогда verbalizando первая iteraciГіn имеется:
¿3==3 "y" 1 "no está" en la lista modas?
- эквивалент True and True
darГЎ True
, потому что 1
не estГЎ включенный в список modas
ввиду того, что вышеупомянутый список estГЎ пустая в этой инстанции.
Потом verbalizando шестая iteraciГіn l[5]
, - помнить, что он начинает в нуле подсчет, [1159-]
¿3==3 "y" 3 "no está" en la lista modas?
год - эквивалент True and True
darГЎ True
, потому что 3
не estГЎ включенный в список modas
.
Тогда имеет по отношению к себе вид висячего замка с i not in modas
, потому что начиная с нее sГ©ptima posiciГіn начинают появляться элементы 1
и 3
, которые уже были включены в список modas
, следовательно уже не необходимо они включать с нею funciГіn modas.append(i)
, которая вводит их в список соответствующие modas
, идут identificГЎndose элементы, Ваш эквивалент serГ - в:
modas.insert(len(modas)+1,i)
Обобщая, в вторая часть случается, что элементы совпадают с mГЎximo nГєmero повторений, полученный в , первая часть , а именно гарантирует себе, что список
modas
включил их nГєmeros с самой большей частотой, когда он существует mГЎs моды.