Hallo allerseits,
mal ne Frage, ist es in Python möglich die Größe von Listen (arrays) zur laufzeit festzulegen ?
Ich möchte einen Matrizenrechner schreiben, bei dem man zu Anfangs durch Angabe von Integer Werten die Größe der Matrix bestimmt.
Ist so etwas in Python machbar, es wäre nett von euch wenn jemand ein Code Snippet für mich hat.
viele Grüße
gizno82
Listen zur Laufzeit erzeugen
Re: Listen zur Laufzeit erzeugen
Klar, arrays sind in Python dynamisch.
x = [] -> leeres array
x.append(1) -> 1 angefügt
y = x + [2, 3] -> addition von arrays ist einfach möglich
x.pop() -> entfernt letztes element und liefert es zurück
z = y[2:] -> alles ab element 2
z = y[1:3] -> elemente 1 und 2
usw..
oder mit der array-Klasse:
from array import array
x = array('i') -> typ: integer
x.append(1)
x.pop()
siehe auch hier: http://www.python.org/doc//current/library/array.html
x = [] -> leeres array
x.append(1) -> 1 angefügt
y = x + [2, 3] -> addition von arrays ist einfach möglich
x.pop() -> entfernt letztes element und liefert es zurück
z = y[2:] -> alles ab element 2
z = y[1:3] -> elemente 1 und 2
usw..
oder mit der array-Klasse:
from array import array
x = array('i') -> typ: integer
x.append(1)
x.pop()
siehe auch hier: http://www.python.org/doc//current/library/array.html
- Xin
- nur zu Besuch hier
- Beiträge: 8861
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Listen zur Laufzeit erzeugen
Notfalls initialisiert Du sie einfach in der gewünschten Größe, indem Du die Matrix mit Nullen (oder der Identität) aufbaust und anschließend nur noch über Arrayzugriffe darauf zugreifst?gizno82 hat geschrieben:mal ne Frage, ist es in Python möglich die Größe von Listen (arrays) zur laufzeit festzulegen ?
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: Listen zur Laufzeit erzeugen
Listen sind in Python ähnlich wie Arrays implementiert, nur eben mit dynamischer Größe. Implementiert sind das eben Arrays von Pointern, Random-Access ist also immer O(1). Wenn die Größe schon gegeben ist und nur Zahlen enthalten sind, sind empfehlen sich wie schon erwähnt und verlinkt richtige Arrays.
Wenn du numerisch, insbes. mit Matrizen arbeiten willst, solltest du dir erst Numpy ansehen. Das ist eine Library, die sich auf schnelle numerische Berechnungen bzw. Datenstrukturen konzentriert. Bei Fragen kann ich dir auch weiterhelfen.
Wenn du numerisch, insbes. mit Matrizen arbeiten willst, solltest du dir erst Numpy ansehen. Das ist eine Library, die sich auf schnelle numerische Berechnungen bzw. Datenstrukturen konzentriert. Bei Fragen kann ich dir auch weiterhelfen.