web-dev-qa-db-fra.com

Comment déclarer et ajouter des éléments à un tableau en Python?

J'essaie d'ajouter des éléments à un tableau en python.

Je cours 

array = {}

Ensuite, j'essaie d'ajouter quelque chose à ce tableau en faisant:

array.append(valueToBeInserted)

Il ne semble pas y avoir de méthode .append pour cela. Comment ajouter des éléments à un tableau?

256
AkshaiShah

{} représente un dictionnaire vide, pas un tableau/liste. Pour les listes ou les tableaux, vous avez besoin de [].

Pour initialiser une liste vide, procédez comme suit:

my_list = []

ou

my_list = list()

Pour ajouter des éléments à la liste, utilisez append

my_list.append(12)

Pour extend la liste afin d'inclure les éléments d'une autre liste, utilisez extend

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

Pour supprimer un élément d'une liste, utilisez remove

my_list.remove(2)

Les dictionnaires représentent un ensemble de paires clé/valeur, également appelé tableau associatif ou carte. 

Pour initialiser un dictionnaire vide, utilisez {} ou dict()

Les dictionnaires ont des clés et des valeurs

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

Pour étendre un dictionnaire avec le contenu d’un autre dictionnaire, vous pouvez utiliser la méthode update

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

Pour supprimer une valeur d'un dictionnaire

del my_dict['key']
491
lukecampbell

Non, si vous le faites:

array = {}

Dans votre exemple, vous utilisez array comme dictionnaire et non comme un tableau. Si vous avez besoin d'un tableau, vous utilisez des listes en Python:

array = []

Ensuite, pour ajouter des éléments que vous faites:

array.append('a')
29

Les tableaux (appelés list en python) utilisent la notation []. {} est pour dict (également appelé tables de hachage, tableaux associés, etc. dans d'autres langues) afin que vous n'ayez pas 'append' pour un dict. 

Si vous voulez réellement un tableau (liste), utilisez:

array = []
array.append(valueToBeInserted)
13
Collin Green

Juste pour compléter, vous pouvez aussi faire ceci:

array = []
array += [valueToBeInserted]

S'il s'agit d'une liste de chaînes, cela fonctionnera également:

array += 'string'
5
David Kennedy

Dans certaines langues comme Java vous définissez un tableau en utilisant des accolades comme suit, mais en python, il a une signification différente:

Java:

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

Cependant, en Python, les accolades sont utilisées pour définir les dictionnaires, qui nécessitent une affectation key:value en tant que {'a':1, 'b':2}

Pour définir un tableau (appelé réellement liste en python), vous pouvez faire:

Python:

mylist = [1,2,3]

ou d'autres exemples comme:

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

Vous pouvez aussi faire:

array = numpy.append(array, value)

Notez que la méthode numpy.append() renvoie un nouvel objet. Par conséquent, si vous souhaitez modifier votre tableau initial, vous devez écrire: array = ...

0
Aurelie Giraud

Je crois que vous avez tous tort. Tu as besoin de faire: 

array = array[] pour le définir, puis: 

array.append ["hello"] à ajouter.

0
Eliza