in Python

Estrutura de dados em Python

Estrutura de dados

Um dos conhecimentos que difere um programador iniciante de um programador experiente, entre outras coisas é o conhecimento na estrutura de dados oferecida pela linguagem, nesse pequeno tutorial vamos ver algumas das principais estruturas oferecida por Python.

“Bad programmers worry about the code. Good programmers worry about data structures and their relationships.”

—Linus Torvalds

Primeiro vamos entender o que é estrutura de dados: em ciência da computação, estrutura de dados é uma coleção de valores e as operações possíveis que podem ser executadas nessa coleção.

Dentre todas as estruturas de dados oferecidas por Python temos a Lista (List), Tupla (Tuple), Dicionário (Dictionary) e a Set (não conheço uma tradução clara e coesa para este termo). Logo a seguir teremos alguns exemplos.

Começando com a Lista, esta é de longe a mais utilizada e consequentemente a mais popular, também a considero muito poderosa, é possível fazer muita coisa com ela, as listas são objetos mutáveis, ou seja, elas podem sofrer mutações, que nada mais é do que a inserção ou remoção de elementos, outra coisa importante a saber é que os elementos possuem um índice que sempre começará em 0 (zero).

my_list = []

ou

my_list = list()

Você pode também iniciar uma lista com itens.

super_heros = ['Ironman', 'Thor', 'Hulk', 'Spiderman']

Iniciando uma lista vazia você pode usar o método append para adicionar elementos na lista depois de criada.

my_list.append('Element 1')

my_list.append('Element 2')

my_list.append('Element 3')

As principais operações de uma lista são a adição de mais elementos, a remoção e a ordenação deles.

super_heros.append('Captain')

super_heros.insert(0, 'Vision')

super_heros.sort()

Com o método insert você deve informar em qual posição da lista deseja adicionar o elemento, diferentemente do append que sempre adicionará na última posição. Com o método sort, você ordena por ordem alfabética os itens da sua lista.

Para remover elementos…

super_heros.remove('Hulk')

ou

super_heros.pop()

A diferença básica entre o método pop e o remove é, no remove você deve informar qual elemento a ser removido, no pop, é removido e retornado o último elemento.

Para acessar um elemento específico da lista basta fazer como no exemplo abaixo:

super_heros[2]

Retornará o elemento que está na posição 2 da lista.

Bom, isso não é tudo sobre as listas, tem muito mais coisas que pode ser feito com elas, mas vamos seguir em frente com as outras estruturas.

Agora vamos trabalhar com a Tupla (Tuple), as tuplas são objetos imutáveis, ou seja, não podem sofrer mutações, uma vez criada, pronto.

my_tuple = ('Hero 1', 'Hero 2', 'Hero 3', [1,2,3])

Assim como nas listas, na tupla você pode ter qualquer tipo de dado na sua coleção, o interessante é que os dados apesar de estarem dentro de uma tupla que é um objeto imutável, mantém suas características, isso implica dizer que, é possível você fazer alterações na lista que está dentro da tupla do nosso exemplo, bastando para isso acessar seu índice e fazer a inserção do novo item.

my_tuple[3].append(4)

Isso adicionará o número 4 na lista que está na posição 3, lembrando mais uma vez, os índices começam sempre em 0 (zero) aqui no Python.

Como eu disse anteriormente, não tem muita coisa a se fazer com as tuplas. Vamos seguir em frente.

Agora com os Dicionários (Dict, como são chamados carinhosamente). Os dicionários trabalham com chave e valor, não possuem índice numérico como as listas e tuplas, os índices são as chaves, por isso que elas sempre devem ser únicas e objetos imutáveis.

my_dict = {'key1': 'value 1', 'key2': 'value 2', 3: 'value 3', (1,2): 4}

Com os dicionários também é possível fazer operações de inserções e remoções, pois são objetos mutáveis.

my_dict['key5'] = 'value 5'

my_dict.pop('key1')

my_dict.popitem()

Na primeira linha do bloco de código acima, estamos adicionando mais um item em nosso dicionário, na segunda linha estamos removendo o elemento com a chave key1, o método pop obrigatoriamente recebe um parâmetro e que deve ser a chave do item a ser removido.

O método popitem remove de forma arbitraria o primeiro elemento encontrado no dicionário.

Por último, mas não menos importante, temos a estrutura set, nela é possível ter uma coleção de itens únicos.

super_heros = ['Ironman', 'Thor', 'Hulk', 'Hulk', 'Spiderman']

new_super_heros = set(super_heros)

Algumas das operações possíveis de se fazer com as set’s.

new_super_heros.add('Vision')

new_super_heros.remove('Hulk')

new_super_heros.pop()

O método add é auto explicativo, o que deve ser dito é que, se o elemento que está sendo adicionado já está presente na estrutura a operação será descartada. O método remove exclui da coleção o item informado. Por fim, o método pop remove e retorna o último elemento da coleção.

Isso é tudo pessoal!!!!

Colabore, comente sobre o que achou do post, adicione mais conhecimento, fomente a interação! Fuiiii!!! 🙂

Deixe seu comentário

Comment

Webmentions

  • Manipulação de Strings Python – Blog Django Pro

    […] sua string em uma lista de strings. Caso não saiba ou não está lembrado das listas em Python, leia aqui um post bem legal sobre […]