it-swarm.com.de

Wie deklarieren und fügen Sie einem Array in Python Elemente hinzu?

Ich versuche, Elemente zu einem Array in Python hinzuzufügen.

Ich renne 

array = {}

Dann versuche ich, diesem Array etwas hinzuzufügen:

array.append(valueToBeInserted)

Es scheint keine .append-Methode dafür zu geben. Wie füge ich einem Array Elemente hinzu?

256
AkshaiShah

{} steht für ein leeres Wörterbuch, nicht für ein Array/eine Liste. Für Listen oder Arrays benötigen Sie [].

So initialisieren Sie eine leere Liste:

my_list = []

oder

my_list = list()

Um der Liste Elemente hinzuzufügen, verwenden Sie append.

my_list.append(12)

Um extend der Liste die Elemente aus einer anderen Liste hinzuzufügen, verwenden Sie extend

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

Um ein Element aus einer Liste zu entfernen, verwenden Sie remove

my_list.remove(2)

Wörterbücher stellen eine Sammlung von Schlüssel/Wert-Paaren dar, die auch als assoziatives Array oder Karte bezeichnet werden. 

Um ein leeres Wörterbuch zu initialisieren, verwenden Sie {} oder dict()

Wörterbücher haben Schlüssel und Werte

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

Um ein Wörterbuch mit dem Inhalt eines anderen Wörterbuchs zu erweitern, können Sie die update-Methode verwenden

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

Einen Wert aus einem Wörterbuch entfernen

del my_dict['key']
491
lukecampbell

Nein, wenn Sie das tun:

array = {}

In Ihrem Beispiel verwenden Sie array als Wörterbuch und nicht als Array. Wenn Sie ein Array benötigen, verwenden Sie in Python Listen:

array = []

Dann fügen Sie Elemente hinzu, die Sie tun:

array.append('a')
29

Arrays (in Python list genannt) verwenden die []-Notation. {} ist für dict (in anderen Sprachen auch Hashtabellen, verknüpfte Arrays usw. genannt), sodass Sie für ein Diktat nicht 'anfügen' müssen. 

Wenn Sie tatsächlich ein Array (Liste) wünschen, verwenden Sie:

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

Nur zur Vervollständigung können Sie auch Folgendes tun:

array = []
array += [valueToBeInserted]

Wenn es sich um eine Liste von Strings handelt, funktioniert dies auch:

array += 'string'
5
David Kennedy

In einigen Sprachen wie Java definieren Sie ein Array mit geschweiften Klammern wie folgt, aber in Python hat es eine andere Bedeutung:

Java:

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

In Python werden geschweifte Klammern jedoch verwendet, um Wörterbücher zu definieren, die eine key:value-Zuweisung als {'a':1, 'b':2}

Um ein Array zu definieren (was in Python eigentlich als list bezeichnet wird), können Sie Folgendes tun:

Python:

mylist = [1,2,3]

oder andere Beispiele wie:

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

Sie können auch tun:

array = numpy.append(array, value)

Beachten Sie, dass die numpy.append()-Methode ein neues Objekt zurückgibt. Wenn Sie das ursprüngliche Array ändern möchten, müssen Sie Folgendes schreiben: array = ...

0
Aurelie Giraud

Ich glaube, dass Sie sich alle irren. Sie müssen tun: 

array = array[], um es zu definieren, und dann: 

array.append ["hello"], um es hinzuzufügen.

0
Eliza