Listas en python

Iniciado por tincopasan, 16 Julio 2016, 20:47 PM

0 Miembros y 1 Visitante están viendo este tema.

tincopasan

Hay muchos tutoriales sobre listas en python, éste seguramente, será uno más, pero trataré de mostrar algunos puntos que no veo frecuentemente. Además python permite que cada uno resuelva como quiera, por lo tanto esto es sólo una forma en que podría hacerlo.También es cierto que se busca lo más simple.Ya todos conocemos la filosofía de python.
Sabemos que las listas pueden contener todo tipo de datos, cadenas,números,listas,tuplas y diccionarios, ahora usaré las más simples, por ejemplo:

lista simple de cadenas
Código (python) [Seleccionar]

l1=["quiero","aprender","python","y ","tambien","quiero","aprender","otros","lenguajes"]


¿cómo cuento cuántas veces está cada palabra?
para eso está el método Counter
Código (python) [Seleccionar]

from collections import Counter
cuenta_palabras = Counter(l1)


>>> Counter({'quiero': 2, 'aprender': 2, 'y ': 1, 'tambien': 1, 'python': 1, 'lenguajes': 1, 'otros': 1})

y si busco cuantas veces se repite quiero
Código (python) [Seleccionar]

cuantas=cuenta_palabras["quiero"]

>>> 2

para mostrar la cantidad que quiera de las más usadas
Código (python) [Seleccionar]

mas_usadas_2= cuenta_palabras.most_common(2) #donde 2 serian las 2 con mayor repeticion

>>> [('quiero', 2), ('aprender', 2)]

¿la palabra más larga?
Código (python) [Seleccionar]

import heapq
largo=heapq.nlargest(1,l1,key=len)

>>> ['lenguajes']

¿la más corta?
Código (python) [Seleccionar]

corta=heapq.nsmallest(1,l1,key=len)

>>> ['y ']

para filtar palabras por la primer letra
Código (python) [Seleccionar]

filtrar=[n for n in l1 if n[0] == "o"]

>>>['otros']

sumar cada caracter ascci de las palabras en la lista
Código (python) [Seleccionar]

valores=list(map(lambda x: sum(map(ord, x)), l1))

>>>[661, 849, 674, 153, 736, 661, 849, 567, 958]

Bueno esto es muy básico, pero sirve para ver el uso de otras funciones y métodos en listas simples.
La verdad me cansé de escribir, así que dejo para otro día diccionarios,tuplas y listas en listas.
Saludos

cerototal

gracias, está interesante