Mostrando postagens com marcador exclusão. Mostrar todas as postagens
Mostrando postagens com marcador exclusão. Mostrar todas as postagens

quinta-feira, 30 de abril de 2015

MANIPULANDO LISTAS



Pois é, pessoal. Trabalhar com listas é fundamental para quem trabalha com manipulação de dados.

Então, hoje vamos a algumas "falcatruas" possíveis com listas:

Aqui temos a lista1 com os vilões e a lista2 com os heróis.
A lista3 é uma "lista de listas" contendo as listas 1 e 2. Muito legal, né?

>>> lista1 = ["Piccolo","Vegeta","Freeza","Cell","Majimboo"]
>>> lista1
['Piccolo', 'Vegeta', 'Freeza', 'Cell', 'Majimboo']
>>> lista2=["Kuririn","Yamcha","Tenshinhan","Gohan","Goku"]
>>> lista2
['Kuririn', 'Yamcha', 'Tenshinhan', 'Gohan', 'Goku']
>>> lista3=[lista1,lista2]
>>> lista3
[['Piccolo', 'Vegeta', 'Freeza', 'Cell', 'Majimboo'], ['Kuririn', 'Yamcha', 'Tenshinhan', 'Gohan', 'Goku']]

Aqui temos a lista1 com os vilões e a lista2 com os heróis.
lista3 é uma "lista de listas" contendo as listas 1 e 2. Muito legal, né?

Você quer ordenar as lista? Sim? Então vamos ordená-las por ordem alfabética:

>>> lista1.sort()
>>> lista2.sort()
>>> lista1
['Cell', 'Freeza', 'Majimboo', 'Piccolo', 'Vegeta']
>>> lista2
['Gohan', 'Goku', 'Kuririn', 'Tenshinhan', 'Yamcha']
>>> lista3
[['Cell', 'Freeza', 'Majimboo', 'Piccolo', 'Vegeta'], ['Gohan', 'Goku', 'Kuririn', 'Tenshinhan', 'Yamcha']]


Vamos agora imprimir cada elemento das listas:

>>> forin  lista1:    print(i)

Cell
Freeza
Majimboo
Piccolo
Vegeta
>>> for in lista2:    print(i)

Gohan
Goku
Kuririn
Tenshinhan
Yamcha
>>> for i in lista3:    print(i)

['Cell', 'Freeza', 'Majimboo', 'Piccolo', 'Vegeta']
['Gohan', 'Goku', 'Kuririn', 'Tenshinhan', 'Yamcha']

Vamos agora imprimir apenas o elemento [1] de cada lista:

>>> print(lista1[1])
Freeza
>>> print(lista2[1])
Goku
>>> print(lista3[1])
['Gohan', 'Goku', 'Kuririn', 'Tenshinhan', 'Yamcha']

Agora vamos incluir elementos:

>>> lista1.append("Tao Pai Pai")
>>> lista1
['Cell', 'Freeza', 'Majimboo', 'Piccolo', 'Vegeta', 'Tao Pai Pai']
>>> lista2.append("Mestre Kame")
>>> lista2
['Gohan', 'Goku', 'Kuririn', 'Tenshinhan', 'Yamcha', 'Mestre Kame']
>>> lista3.append(["Bulma","Chichi","Vovó Uranai","Lunch","Videl","Maron"])
>>> lista3

[['Cell', 'Freeza', 'Majimboo', 'Piccolo', 'Vegeta', 'Tao Pai Pai'], ['Gohan', 'Goku', 'Kuririn', 'Tenshinhan', 'Yamcha', 'Mestre Kame'], ['Bulma', 'Chichi', 'Vovó Uranai', 'Lunch', 'Videl', 'Maron']]

Note que foi inserida uma nova lista de mulheres em lista3, que é uma "lista de listas".


Agora vamos apagar um elemeto da lista:

>>> lista1.pop(3)
'Piccolo'
>>> lista1
['Cell', 'Freeza', 'Majimboo', 'Vegeta', 'Tao Pai Pai']
>>> lista2.pop(lista2.index("Yamcha"))
'Yamcha'
>>> lista2
['Gohan', 'Goku', 'Kuririn', 'Tenshinhan', 'Mestre Kame']
>>> lista3.pop(2[3])
>>> lista3[2].pop(lista3[2].index("Videl"))
'Videl'


- Nossa senhora! Fiquei tonto agora com essas falcatruas!!!

Calma, amigão! Vou explicar

>>> lista1.pop(3)
Excluí o elemento de índice 3 da lista1.
Note que o Python devolve o valor do elemento excluído. Caso não queira este retorno, utilize o remove em lugar do pop.

>>> lista2.pop(lista2.index("Yamcha"))
'Yamcha'
O comando lista2.index("Yamcha") me retorna o índice dentro da lista que contém o valor "Yamcha". Daí o retorno deste comando me dá o valor do indice que será excluído como lista3.pop.
**IMPORTANTE** Caso houverem dentro da lista dois elementos com o mesmo valor, apenas o primeiro será retornado com o index!

Agora vou criar uma lista doidona pra você perceber o poder da lista em Python.

>>> doidona=[1,23,"Android","Bom dia",("a","b","c"),["YuYu Hakusho","CDZ","DBZ","Giban"],lista2]
>>> doidona
[1, 23, 'Android', 'Bom dia', ('a', 'b', 'c'), ['YuYu Hakusho', 'CDZ', 'DBZ', 'Giban'], ['Gohan', 'Goku', 'Kuririn', 'Tenshinhan', 'Mestre Kame']]
>>> for i in doidona:    print(type(i))

<class 'int'>
<class 'int'>
<class 'str'>
<class 'str'>
<class 'tuple'>
<class 'list'>

<class 'list'>

Ficou feliz né? Cada elemento da lista é de um tipo!!! Espetacular. E dá pra 'enfiar' qualquer tipo de dados numa lista, incluindo uma própria lista! Não é demais?

Pois bem pessoal, Espero ter ajudado mais uma vez.

Não deixem de comentar. E se tiverem algum pedido, deixem aqui nos comentários também!

Até a próxima!