Como declarar e adicionar itens a uma matriz em Python?

387

Estou tentando adicionar itens a uma matriz em python.

eu corro

array = {}

Em seguida, tento adicionar algo a essa matriz fazendo:

array.append(valueToBeInserted)

Não parece haver um .appendmétodo para isso. Como adiciono itens a uma matriz?

AkshaiShah
fonte

Respostas:

693

{}representa um dicionário vazio, não uma matriz / lista. Para listas ou matrizes, você precisa [].

Para inicializar uma lista vazia, faça o seguinte:

my_list = []

ou

my_list = list()

Para adicionar elementos à lista, use append

my_list.append(12)

Na extendlista para incluir os elementos de outra lista, useextend

my_list.extend([1,2,3,4])
my_list
--> [12,1,2,3,4]

Para remover um elemento de uma lista, use remove

my_list.remove(2)

Os dicionários representam uma coleção de pares de chave / valor, também conhecidos como matriz associativa ou mapa.

Para inicializar um dicionário vazio, use {}oudict()

Dicionários possuem chaves e valores

my_dict = {'key':'value', 'another_key' : 0}

Para estender um dicionário com o conteúdo de outro dicionário, você pode usar o updatemétodo

my_dict.update({'third_key' : 1})

Para remover um valor de um dicionário

del my_dict['key']
lukecampbell
fonte
Oh ok, eu entendi como uma lista seria necessário ter uma chave e um valor, mas acho que não
AkshaiShah
38

Não, se você fizer:

array = {}

No seu exemplo, você está usando arraycomo um dicionário, não como uma matriz. Se você precisa de uma matriz, no Python você usa listas:

array = []

Em seguida, para adicionar itens que você faz:

array.append('a')
Pablo Santa Cruz
fonte
11
Nitpicking: você não declara nada. Você faz um nome no escopo atual se referir a um objeto de dicionário / lista.
16

Matrizes (chamadas listem python) usam a []notação. {}é paradict (também chamado de tabelas de hash, matrizes associadas etc. em outros idiomas) para que você não tenha 'anexado' a um ditado.

Se você realmente deseja uma matriz (lista), use:

array = []
array.append(valueToBeInserted)
Collin Green
fonte
11

Apenas para concluir, você também pode fazer o seguinte:

array = []
array += [valueToBeInserted]

Se for uma lista de strings, isso também funcionará:

array += 'string'
Big McLargeHuge
fonte
2

Em algumas linguagens como JAVA, você define uma matriz usando chaves como a seguir, mas em python isso tem um significado diferente:

Java:

int[] myIntArray = {1,2,3};
String[] myStringArray = {"a","b","c"};

No entanto, no Python, chaves são usadas para definir dicionários, que precisam de uma key:valueatribuição como{'a':1, 'b':2}

Para realmente definir uma matriz (que na verdade é chamada de lista em python), você pode:

Pitão:

mylist = [1,2,3]

ou outros exemplos como:

mylist = list()
mylist.append(1)
mylist.append(2)
mylist.append(3)
print(mylist)
>>> [1,2,3]
user1767754
fonte
2

Você também pode fazer:

array = numpy.append(array, value)

Observe que o numpy.append()método retorna um novo objeto; portanto, se você deseja modificar sua matriz inicial, é necessário escrever:array = ...

Aurelie Giraud
fonte
-1

Eu acredito que você está errado. você precisa fazer:

array = array[] para defini-lo e depois:

array.append ["hello"] para adicionar a ele.

Eliza
fonte
4
A maneira correta de definir uma matriz éarray = []
Shai
11
Você também pode defini-lo usando array = list(). Observe que defini-lo como uma matriz usando [] fornece funcionalidade específica disponível apenas para matrizes, como a divisão da matriz por um único número inteiro. Ex. array/3
Dalton Whyte
SyntaxError: sintaxe inválida
CodeGuru 18/04/19
Se ater apenas a lista quando usando python
CodeGuru