Python Tutorial - Tipo de dados
- Declaração em Python Array
- índice Python Array
- Array índice negativo
- Atravessar através de um array Python
- Atualização do Python Array
- Diferentes maneiras de modificar um array Python
- Apagar elementos de um array Python
- 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])
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 arrays 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 no array. |
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. |
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook