Este conteúdo faz parte do livro “Introdução à Programação para Bioinformática com Biopython“. Você pode adquirir a versão impressa desse livro aqui ou a versão para Kindle aqui. Para nos citar, consulte este link.
Listas são coleções de dados em Python que agrupam um conjunto de elementos. Listas podem conter strings, valores numéricos e até mesmo outras listas. Veja abaixo o exemplo de uma lista com quatro elementos:
nucleotideos = ["A","T","C","G"]
print(nucleotideos)
# Sera impresso: ['A', 'T', 'C', 'G']
A impressão de elementos específicos de uma lista é feita da mesma forma que a impressão de um caractere em uma string. Veja:
nucleotideos = ["A","T","C","G"]
print(nucleotideos)
# Sera impresso: ['A', 'T', 'C', 'G']
Principais métodos para listas
Método | Uso |
lista.append(x) | Insere o elemento x no final da lista. |
lista.insert(i,x) | Insere o elemento x na posição i. |
lista.extend(L) | Insere todos os elementos da lista L no final da lista. |
print lista | Imprime todos os elementos da lista na seguinte formatação: [ ‘x1’, ‘x2’, …, ‘xn’]. |
print lista.index(x) | Imprime a posição da primeira ocorrência do elemento x na lista. |
lista.remove(x) | Remove o primeiro elemento cujo valor seja igual a x. |
lista.pop(i) | Remove o elemento da posição “i” da lista e o retorna. Pode ser usado como lista.pop( ), nesse caso irá remover e retornar o último elemento. |
del lista[i] | Apaga o elemento na posição “i” da lista. Pode-se passar uma faixa de elementos a serem deletados. O comando del lista[:] apagará toda a lista. |
“x” in lista | Retorna True caso x pertença à lista e False caso contrário. |
len(lista) | Retorna o número de elementos de lista. |
Veja agora alguns exemplos dos métodos citados acima. Para isso considere a lista nucleotideos = [“A”,”T”,”C”,”G”].
nucleotideos = ["A","T","C","G"]
nucleotideos.extend(["G", "C"])
print(nucleotideos)
# Sera impresso ['A', 'T', 'C', 'G', 'G', 'C']
indice = nucleotideos.index("C")
print(indice)
# Sera impresso 2
nucleotideos.remove("G")
print(nucleotideos)
# Sera impreso ['A', 'T', 'C', 'G', 'C']
x = nucleotideos.pop(4)
print(x)
# Sera impresso "C"
print(nucleotideos)
# Sera impresso ['A', 'T', 'C', 'G']
del nucleotideos[2:4]
print(nucleotideos)
# Sera impresso ['A', 'T']
if "A" in nucleotideos:
print("Exite um A em nucleotideos")
# Sera impresso True
print(len(nucleotideos))
# Sera impresso 2
Percorrendo listas usando o laço for
Como visto anteriormente, em certos momentos é preciso percorrer listas analisando cada elemento individualmente. Para isso associamos o comando for com o operador in.
for x in ["A","T","C","G"]:
print(x)
# Sera impresso
# A
# T
# C
# G
Em certas situações pode ser necessário saber a posição de um elemento numa determinada lista. Para isso vamos associar o for com um comando condicional if da seguinte maneira:
nucleotideos = ["A","T","C","G","A","T","C","A","C"]
for i in range(len(nucleotideos)):
if nucleotideos[i] == "A":
print("Adenina encontrada na posicao: %d" % i)
Vamos entender melhor o que foi realizado acima:
- len(nucleotideos): retorna o números de elementos da lista nucleotídeos;
- range(len(nucleotideos)): retorna uma lista contendo inteiros entre 0 e o números de elementos da lista menos um. Como por exemplo, se existirem cinco elemento nas lista, então range(len(nucleotideos)) retorna [ 0, 1 , 2, 3, 4];
- for i in range(len(nucleotideos): a lista de inteiros é percorrida por um laço for. A variável i irá assumir cada um dos valores presente na lista de inteiros;
- if “A” == nucleotideos[i]: é feita uma comparação se o elemento na posição i da lista de nucleotídeos é igual a “A”. Caso seja, uma mensagem é impressa na tela; caso não seja, a variável i assume o próximo valor da lista.
Podemos ainda utilizar o laço for para imprimir listas, tuplas e dicionários presentes dentro de outras listas. Veja este exemplo:
aminoacidos = [('Alanina', 'ALA', 'A'), \
('Cisteina', 'CYS', 'C')]
# Imprimindo listas complexas
for aa, aa_tres, aa_um in aminoacidos:
print("Aminoacido: ",aa)
print("Aminoacido (codigo 3 letras): ",aa_tres)
print("Aminoacido (codigo 1 letra): ",aa_um)
Nesse exemplo, a variável aa recebe a primeira posição de cada tupla presente na variável aminoacidos, aa_tres recebe a segunda e aa_um recebe a terceira posição. Enquanto elementos em listas são declaradas entre colchetes “[ ]”, elementos em tuplas são declarados entre parênteses “( )” e elementos em dicionários entre chaves “{ }”. No próximo tópico, vamos entender melhor o que são tuplas e dicionários.
Tuplas e dicionários
Tuplas são similares às listas, porém são imutáveis, ou seja, não se pode acrescentar, apagar ou fazer atribuições aos itens. É possível converter tuplas em listas e vice-versa:
# Converte uma lista em uma tupla
tupla = tuple(lista)
# Converte uma tupla em uma lista
lista = list(tupla)
Dicionários são listas (mutáveis) de associações compostas por uma chave, que deve ser única, e um valor correspondente.
aminoacidos = {'ALA': 'Alanina', 'CYS': 'Cisteina'}
print(aminoacidos['ALA'])
# Alanina
Você pode adicionar e apagar elementos a dicionários de maneira simples:
aminoacidos = {'ALA': 'Alanina', 'CYS': 'Cisteina'}
aminoacidos['HIS'] = 'Histidina'
# adiciona Histidina
del aminoacidos['ALA']
# apaga Alanina
Ainda, é possível obter itens de um dicionário da seguinte forma:
aminoacidos = {'alanina': ['ALA', 'A'], \
'cisteina': ['CYS','C']}
# Mais amino
aminoacidos['histidina'] = ['HIS', 'H']
for um, tres in aminoacidos.items():
print(um, '=>', tres)
'''
cisteina => ['CYS', 'C']
histidina => ['HIS', 'H']
alanina => ['ALA', 'A']
'''
Quer aprender mais? Conheça nossos cursos profissionalizantes à partir de R$19,99:

Capítulo 1
Introdução ao Python
Capítulo 2
Comandos condicionais
Capítulo 3
Laços de repetição
Capítulo 4
Trabalhando com strings
Capítulo 5
Listas
Capítulo 6
Manipulando arquivos
Capítulo 7
Funções
Capítulo 8
Princípios da orientação a objetos
Capítulo 9
Introdução ao Biopython
Capítulo 10
Sequências
Capítulo 11
BLAST
Capítulo 12
PDB
Capítulo 13
Visualização de dados em Python
Capítulo 14
Outras coisas interessantes que se pode fazer com Biopython
Capítulo 15
Hierarquia do Biopython
Por favor, nos cite:
MARIANO, D. C. B.; BARROSO, J. R. P. M. ; CORREIA, T. S. ; de MELO-MINARDI, R. C. . Introdução à Programação para Bioinformática com Biopython. 3. ed. North Charleston, SC (EUA): CreateSpace Independent Publishing Platform, 2015. v. 1. 230p .