Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: tincopasan en 16 Julio 2016, 20:47 pm



Título: Listas en python
Publicado por: tincopasan en 16 Julio 2016, 20:47 pm
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
  1. l1=["quiero","aprender","python","y ","tambien","quiero","aprender","otros","lenguajes"]
  2.  

¿cómo cuento cuántas veces está cada palabra?
para eso está el método Counter
Código
  1. from collections import Counter
  2. cuenta_palabras = Counter(l1)
  3.  

>>> 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
  1. cuantas=cuenta_palabras["quiero"]
  2.  
>>> 2

para mostrar la cantidad que quiera de las más usadas
Código
  1. mas_usadas_2= cuenta_palabras.most_common(2) #donde 2 serian las 2 con mayor repeticion
  2.  
>>> [('quiero', 2), ('aprender', 2)]

¿la palabra más larga?
Código
  1. import heapq
  2. largo=heapq.nlargest(1,l1,key=len)
  3.  
>>> ['lenguajes']

¿la más corta?
Código
  1. corta=heapq.nsmallest(1,l1,key=len)
  2.  
>>> ['y ']

para filtar palabras por la primer letra
Código
  1. filtrar=[n for n in l1 if n[0] == "o"]
  2.  
>>>['otros']

sumar cada caracter ascci de las palabras en la lista
Código
  1. valores=list(map(lambda x: sum(map(ord, x)), l1))
  2.  
>>>[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


Título: Re: Listas en python
Publicado por: cerototal en 17 Julio 2016, 17:04 pm
gracias, está interesante