English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste artigo, você aprenderá sobre arrays no Python, a diferença entre arrays e listas, e como e quando usá-los com exemplos.
Em programação, um array é um conjunto de elementos do mesmo tipo.
Arrays no Java, C / C ++Eles são populares na maioria das linguagens de programação como JavaScript. Mas, no Python, eles não são comuns. Quando as pessoas falam sobre arrays no Python, elas estão falando sobre listas no Python. Se você não souber o que é uma lista, é absolutamente necessário verificarLista do PythonArtigo.
Podemos ver a lista como um array. Mas, não podemos limitar o tipo dos elementos armazenados na lista. Por exemplo:
a = [1, 3.5, "Hello"]
Se usar o módulo array para criar arrays, todos os elementos do array devem ser do mesmo tipo numérico.
import array as arr a = arr.array('d', [1, 3.5, "Hello"]) // Error
Você pode ter notado no exemplo acima, precisamos importar o módulo array para criar arrays. Por exemplo:
import array as arr a = arr.array('d', [1.1, 3.5, 4.5]) print(a)
Aqui, criamos um array do tipo float. A letra 'd' é o código do tipo. Isso determina o tipo do array durante o processo de criação.
Códigos de tipos comuns:
Código | Tipos C | Tipos Python | menor byte |
---|---|---|---|
'b' | signed char | int | 1 |
'B' | unsigned char | int | 1 |
'u' | Py_UNICODE | Unicode | 2 |
'h' | signed short | int | 2 |
'H' | unsigned short | int | 2 |
'i' | signed int | int | 2 |
'I' | unsigned int | int | 2 |
'l' | signed long | int | 4 |
'L' | unsigned long | int | 4 |
'f' | float | float | 4 |
'd' | double | float | 8 |
Nós não discutiremos os diferentes tipos de C neste artigo.ao longo do artigo, usaremos dois tipos de código: 'i' para inteiros e 'd' para números de ponto flutuante.
Atenção: 'u' desde a versão3.3A partir de, não é recomendado usar o código de tipo Unicode. Tente evitar usá-lo.
Usamos índices para acessar os elementos do array:
import array as arr a = arr.array('i', [2, 4, 6, 8]) print("Primeiro elemento:", a[0]) print("Segundo elemento:", a[1]) print("Último elemento:", a[-1])
Lembre-se, os índices começam em 0 (em vez de1)começando, semelhante a uma lista.
Podemos usar o operador de fatiamento para acessar uma série de itens no array:.
import array as arr numbers_list = [2, 5, 62, 5, 42, 52, 48, 5] numbers_array = arr.array('i', numbers_list) print(numbers_array[2:5]) # O3-第5elementos print(numbers_array[:-5]) # De início até4elementos print(numbers_array[5:]) # De6elementos até o fim print(numbers_array[:]) # De início até o fim
Quando executamos o programa, a saída é:
array('i', [62, 5, 42]) array('i', [2, 5, 62]) array('i', [52, 48, 5]) array('i', [2, 5, 62, 5, 42, 52, 48, 5])
O array é mutável; seus elementos podem ser alterados de maneira semelhante a uma lista.
import array as arr numbers = arr.array('i', [1, 2, 3, 5, 7, 10]) # Mudar o primeiro elemento numbers[0] = 0 print(numbers) # Saída: array('i', [0, 2, 3, 5, 7, 10]) # Mudar o3até o5elementos numbers[2:5]) = arr.array('i', [4, 6, 8]) print(numbers) # Saída: array('i', [0, 2, 4, 6, 8, 10])
Podemos usar o método append() para adicionar um item à lista ou usar o método extend() para adicionar vários itens à lista.
import array as arr numbers = arr.array('i', [1, 2, 3]) numbers.append(4) print(numbers) # Saída: array('i', [1, 2, 3, 4]) # extend() adiciona um iterable ao final do array numbers.extend([5, 6, 7]) print(numbers) # Saída: array('i', [1, 2, 3, 4, 5, 6, 7])
Podemos usar+O operador de concatenação conecta dois arrays.
import array as arr odd = arr.array('i', [1, 3, 5]) even = arr.array('i', [2, 4, 6]) numbers = arr.array('i') # Cria um array inteiro vazio numbers = odd + even print(numbers)
Podemos usarSentença del do PythonRemover um ou mais itens do array.
import array as arr number = arr.array('i', [1, 2, 3, 3, 4]) del number[2] # Deleta o terceiro elemento print(number) # Saída: array('i', [1, 2, 3, 4]) del number # Deleta todo o array print(number) # Erro: não foi definido array
Podemos usar o método remove() para deletar um item específico, ou usar o método pop() para deletar o item na posição especificada.
import array as arr numbers = arr.array('i', [10, 11, 12, 12, 13]) numbers.remove(12) print(numbers) # Saída: array('i', [10, 11, 12, 13]) print(numbers.pop(2)) # Saída: 12 print(numbers) # Saída: array('i', [10, 11, 13])
Listas são muito mais flexíveis do que arrays. Elas podem armazenar elementos de diferentes tipos de dados, incluindo strings. Além disso, as listas são mais rápidas. Além disso, se você precisar fazer cálculos matemáticos com arrays e matrizes, é melhor usarNumPyMétodos de bibliotecas e afins.
A menos que você realmente precise de arrays (pode ser necessário módulo de array para interface de código C), não os use.