Как объявить и добавить элементы в массив в Python?

387

Я пытаюсь добавить элементы в массив в Python.

я бегу

array = {}

Затем я пытаюсь добавить что-то в этот массив, выполнив:

array.append(valueToBeInserted)

Кажется, нет .appendспособа для этого. Как добавить элементы в массив?

AkshaiShah
источник

Ответы:

694

{}представляет пустой словарь, а не массив / список. Для списков или массивов вам нужно [].

Чтобы инициализировать пустой список, сделайте это:

my_list = []

или

my_list = list()

Чтобы добавить элементы в список, используйте append

my_list.append(12)

В extendсписок для включения элементов из другого списка используйтеextend

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

Чтобы удалить элемент из списка, используйте remove

my_list.remove(2)

Словари представляют собой набор пар ключ / значение, также известный как ассоциативный массив или карта.

Для инициализации пустого словаря используйте {}илиdict()

Словари имеют ключи и значения

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

Для расширения словаря содержимым другого словаря вы можете использовать updateметод

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

Чтобы удалить значение из словаря

del my_dict['key']
Люк Кэмпбелл
источник
О, хорошо, я поняла, что в списке должны быть ключ и значение, но, думаю, нет
AkshaiShah
38

Нет, если вы делаете:

array = {}

В вашем примере вы используете arrayсловарь, а не массив. Если вам нужен массив, в Python вы используете списки:

array = []

Затем, чтобы добавить элементы, которые вы делаете:

array.append('a')
Пабло Санта Круз
источник
1
Nitpicking: Вы ничего не декларируете . Вы делаете имя в текущей области видимости ссылкой на объект словаря / списка.
16

Массивы (называемые listв python) используют []обозначения. {}предназначен для dict(также называемый хеш-таблицами, ассоциированными массивами и т. д. на других языках), поэтому у вас не будет «добавления» для dict.

Если вы действительно хотите массив (список), используйте:

array = []
array.append(valueToBeInserted)
Коллин Грин
источник
11

Просто для завершения, вы также можете сделать это:

array = []
array += [valueToBeInserted]

Если это список строк, это также будет работать:

array += 'string'
Big McLargeHuge
источник
2

В некоторых языках, таких как JAVA, вы определяете массив, используя фигурные скобки, как показано ниже, но в python он имеет другое значение:

Ява:

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

Однако в Python фигурные скобки используются для определения словарей, которым необходимо key:valueприсваивать{'a':1, 'b':2}

Чтобы на самом деле определить массив (который на самом деле называется python), вы можете сделать:

Python:

mylist = [1,2,3]

или другие примеры, такие как:

mylist = list()
mylist.append(1)
mylist.append(2)
mylist.append(3)
print(mylist)
>>> [1,2,3]
user1767754
источник
2

Вы также можете сделать:

array = numpy.append(array, value)

Обратите внимание, что numpy.append()метод возвращает новый объект, поэтому, если вы хотите изменить исходный массив, вы должны написать:array = ...

Аурели Жиро
источник
-1

Я считаю, что вы все не правы. вам нужно сделать:

array = array[] чтобы определить это, а затем:

array.append ["hello"] добавить к этому.

Элиза
источник
4
Правильный способ определения массиваarray = []
Шай
1
Вы также можете определить это с помощью array = list(). Обратите внимание, что определение его как массива с помощью [] обеспечивает специфическую функциональность, доступную только для массивов, например, деление массива на одно целое число. Ex. array/3
Далтон Уайт
Ошибка синтаксиса: неверный синтаксис
CodeGuru
Просто придерживайтесь списка при использовании Python
CodeGuru