Python Tutorial - Tipo de dados

  1. Declaração em Python Array
  2. índice Python Array
  3. Array índice negativo
  4. Atravessar através de um array Python
  5. Atualização do Python Array
  6. Diferentes maneiras de modificar um array Python
  7. Apagar elementos de um array Python
  8. Métodos de array

Nesta seção, você aprenderá como criar e acessar elementos de arrays em Python.

Um array é uma coleção de elementos do mesmo tipo de dados. A principal diferença entre um array e uma lista é que uma lista pode ter elementos de diferentes tipos de dados.

Na programação Python, para criar um array, você precisa importar o módulo array porque um array não é um tipo de dado fundamental.

from array import *

Declaração em Python Array

Para declarar um array você tem que seguir a sintaxe abaixo:

arrayName = array(typecode, [initializers])

Aqui, arrayName é o nome do array, typecode determina o tipo de dados do array e initializers são os valores no array.

Você aprenderá mais sobre o parâmetro typecode mais adiante nesta seção.

Considere o exemplo abaixo:

a = array('i', [1,2,3,4])

O nome do array é a, typecode é i que especifica que os valores do array serão do tipo de dados inteiros. Se você tentar armazenar outros valores além dos inteiros neste array, um erro será levantado:

>>> a=array('i', [1,2,3.4,4])
Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    a=array('i', [1,2,3.4,4])
TypeError: integer argument expected, got float

Vamos verificar o exemplo de um array que contém alguns números inteiros:

>>> from array import *
>>> a = array('i', [1,2,3,4])
>>> for i in a:
	print(i)
1
2
3
4

Parâmetro typecode

Parâmetro Significado
b um número inteiro assinado de 1 byte
B um número inteiro não assinado de 1 byte
u um carácter Unicode de 2 bytes
h um número inteiro assinado de 2 bytes
H um número inteiro não assinado de 2 bytes
i um número inteiro assinado de 2 bytes
I um número inteiro não assinado de 2 bytes
l um número inteiro assinado de 4 bytes
L um número inteiro não assinado de 4 bytes
f um número de ponto flutuante de 4 bytes
d um número de ponto flutuante de 8 bytes

índice Python Array

Você pode ir buscar um elemento de um array utilizando o operador de índice [].

Obter um elemento de um array utilizando o operador de índice

>>> a = array('i', [1,2,3,4])
>>> print("First element of array =", a[0])
First element of array = 1
>>> print("Second element of array =", a[1])
Second element of array = 2

Obtenha o índice de determinado valor utilizando o método index(x)

O método index(x) devolve o menor índice da primeira ocorrência de x.

>>> a = array('i', [1,2,3,4])
>>> print("1 is found at location:", a.index(1))
1 is found at location: 0
>>> print("4 is found at location:", a.index(4))
4 is found at location: 3

Array índice negativo

Similar a outros tipos de dados sequenciais Python como strings, lists, tuplos, [objetos, você também pode utilizar índices negativos para acessar elementos do array.

>>> a = array('i', [1,2,3,4])
>>> print("last element of array:",a[-1])
last element of array: 4

Atravessar através de um array Python

A primeira coisa a fazer é encontrar o comprimento do array:

Array len() método

O método len() retorna o número de elementos em um array.

>>> a = array('i', [1,2,3,4])
>>> print("length of a:", len(a))
length of a: 4

Itera sobre um array

Você pode utilizar o ‘for’ loop para iterar através de elementos de um array.

>>> a = array('i', [1,2,3,4])
>>> for i in range(len(a)):
	print(a[i])
1
2
3
4

ou

>>> a = array('i', [1,2,3,4])
>>> for i in a:
	print(i)
1
2
3
4

Atualização do Python Array

append()

Você pode utilizar o método de array append() para anexar um item ao final de um array.

>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> a.append(10)
>>> print(a)
array('i', [1, 2, 3, 4, 5, 7, 8, 9, 10])

insert(i, x)

Você poderia utilizar o método insert(i, x) para inserir o elemento x no índice dado i.

>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> a.insert(3,44)
>>> print(a)
array('i', [1, 2, 3, 44, 4, 5, 7, 8, 9])

extend(x)

append(x) adiciona o item x como um item ao array. O método extend(x) é o método certo para estender o array anexando todos os elementos do objeto x.

>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> a.extend([10,11,12,13,14,15])
>>> print(a)
array('i', [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15])
Atenção

Se x for outro array, ele deve ter exatamente o mesmo código de tipo de dados, caso contrário, TypeError será levantado. Se o x não for um array Python, ele deve ser iterável e seus elementos devem ter o mesmo tipo de dados com o array a ser estendido.

fromlist()

fromlist() adiciona itens de uma lista ao array.

>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> l = [10,11]
>>> a.fromlist(l)
>>> print(a)
array('i', [1, 2, 3, 4, 5, 7, 8, 9, 10, 11])

Diferentes maneiras de modificar um array Python

reverse()

reverse() inverte o array.

>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> a.reverse()
>>> print(a)
array('i', [9, 8, 7, 5, 4, 3, 2, 1])

+ Operador

Duas matrizes podem ser concatenadas utilizando o operador +:

>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> b = array('i', [10,11])
>>> print(a + b)
array('i', [1, 2, 3, 4, 5, 7, 8, 9, 10, 11])

* Operador

O operador repete os elementos do array um número específico de vezes.

>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> a = a * 2
>>> print(a)
array('i', [1, 2, 3, 4, 5, 7, 8, 9, 1, 2, 3, 4, 5, 7, 8, 9])

Aqui os elementos são repetidos duas vezes.

Apagar elementos de um array Python

A instrução del apaga um ou mais itens de um array. Você também pode utilizar a instrução del para excluir todo o array:

>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> del a[3]
>>> print(a)
array('i', [1, 2, 3, 5, 7, 8, 9])
>>> del a			#entire array is deleted

remove(x)

remove() remove a primeira ocorrência de x de um array:

>>> a = array('i', [1,2,3,4,5,7,8,9,3])
>>> a.remove(3)
>>> print(a)
array('i', [1, 2, 4, 5, 7, 8, 9, 3])

pop()

pop() irá remover e retornar o último elemento do array.

>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> a.pop()
9
>>> print(a)
array('i', [1, 2, 3, 4, 5, 7, 8])

Métodos de array

A tabela a seguir descreve os métodos de matriz,:

Métodos Descrição
append() adicionar um item ao final do array
extend() adicionar mais do que um item a um array. Ele funciona adicionando elementos de um array a outro array (no qual você quer adicionar elementos).
insert() adicionar um elemento no local desejado.
remove() remover um item em particular do array.
pop() remover um item de um determinado local e devolve esse item.
clear() remover todos os elementos do array.
index() devolve o índice do primeiro elemento combinado na matriz.
Contagem() devolver o número total de itens passados
sort() ordenar os elementos do array em ordem ascendente.
reverse() inverter a ordem dos elementos do array.
copy() devolver uma cópia de um array já existente.