Postagem

Aqui é onde faço postagens de coisas que acho interessante.

Python parte 3 - List Comprehensions

Postagem do dia 02/07/2013 na categoria Python



Desde sua versão 2.0, Python oferece uma construção chamada List Comprehensions, que é capaz de gerar listas de valores.
Não é possível definir um indice para o List Comprehensions, ele atribui indice para os valores apartir do zero

Agora vou mostrar como utilizar este recurso, criando uma lista de frutas


>>> lista = ['abacate', 'pera', 'uva']


Agora vou visualizar cada item da lista através de seu indice

>>> print lista[0]
abacate
>>> print lista[1]
pera
>>> print lista[2]
uva


Caso tentamos acessar um elemento usando um índice que não existe, ocorrerá um erro.

>>> print lista[100]
Traceback :
   File "", line 1, in 
IndexError: list index out of range
>>>


A linha IndexError: list index out of range Informa o tipo do erro gerado: IndexError, ou seja ocorreu um erro com o indice passado e a mensagem foi: list index out of range o que significa que não existe nenhum elemento em nossa lista com o índice de número 100.

Agora vou adicionar um elemento na lista, para isso usarei o método append()

>>> lista.append( "laranja" )


Agora na nossa lista de frutas deve ter o item "laranja".
Vou listar os itens dessa lista e ter cereza que há um elemento chamado laranja

>>> print lista
['abacate', 'pera', 'uva', 'laranja']


Agora vou remover o elemento "uva" da nossa lista usando o método remove() e em seguida visualizar os itens dessa lista e vê se realmente o elemento "uva" foi removido.

>>> lista.remove( "uva" )
>>> print lista
['abacate', 'pera', 'laranja']


O List Compreehensions possui vários métodos para interação de seus valores e indice. Para ver quais são esses métodos bastar usar o método dir()

>>> print dir( lista )
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__'
, '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__',
 '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '
__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'a
ppend', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
>>>


Observe que os métodos: remove() e append() como vários outros foram mostrado na tela. Com esses métodos fica fácil a manipulação de nossos dados.

Para mais detalhes acesse o manual: http://docs.python.org/2/tutorial/datastructures.html#list-comprehensions



Deixe seus comentários abaixo: