24/05/2009, 03:38
|
| | | Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 8 meses Puntos: 20 | |
Respuesta: Como contar número de apariciones Cita:
Iniciado por razpeitia
Código python:
Ver originalarchivo = "prueba.txt" try: f = open(archivo,"r") except IOError: f.close() exit() contenido = f.readlines() f.close() lista = [] lista_final = [] for numero in contenido: lista += numero.split() lista.sort() set_lista = set(lista) set_lista = list(set_lista) set_lista.sort() print "Valor:Ocurrencias" for numero in set_lista: lista_final.append((lista.count(numero), numero)) lista_final.sort(reverse=True) print lista_final
Este es un pequeño código que hice rápido :p
Funciona en general para caracteres también, no tiene limite de lineas, ni de largo ni de ancho. Solo tienen que ir separa por espacios o tabs. Gracias razpeitia
Para que apareciese primero el numero y luego las veces que ha salido he tenido que cambiar el orden
lista_final.append((lista.count(numero), numero)) por lista_final.append((numero,lista.count(numero)))
Consiendo una salida de este tipo
Código:
Valor:Ocurrencias
('9', 6)
('8', 7)
('7', 5)
('6', 8)
('5', 7)
('49', 5)
('48', 5)
('47', 6)
('46', 9)
('45', 8)
('44', 7)
('43', 9)
('42', 3)
('41', 7)
('40', 14)
('4', 6)
('39', 10)
('38', 15)
('37', 13)
('36', 7)
('35', 5)
('34', 11)
('33', 10)
('32', 6)
('31', 7)
('30', 9)
('3', 5)
('29', 9)
('28', 10)
('27', 10)
('26', 8)
('25', 12)
('24', 6)
('23', 16)
('22', 17)
('21', 3)
('20', 6)
('2', 6)
('19', 10)
('18', 6)
('17', 9)
('16', 9)
('15', 7)
('14', 9)
('13', 8)
('12', 11)
('11', 11)
('10', 5)
('1', 4)
Me gustaría poder ordenar o bien por el primer valor, o bien por las veces que más a salido. Sabéis como debo hacerlo?
Porque he probado lista_final.sort() pero no me los ordena así. |