Liste dimensionieren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
werhei14
User
Beiträge: 14
Registriert: Montag 10. April 2017, 20:35

Hallo zusammen,

ich möchte eine Liste als
liste=[500]
dimensionieren und nicht in einer langen Zeile
alle möglichen Fälle schon mal mit["n1","n2",...]
"verplatzhaltern".

Ich hab es schon mit "liste[:500]" und anderem versucht.

Python weigert sich jedes Mal.

Wie kann ich's machen?

Gruß
Werner
Sirius3
User
Beiträge: 17737
Registriert: Sonntag 21. Oktober 2012, 17:20

@werhei14: Listen werden bei Bedarf aufgebaut. Was ist Dein eigentliches Problem, das Du zu lösen versuchst?
werhei14
User
Beiträge: 14
Registriert: Montag 10. April 2017, 20:35

Hallo Sirius,

ich konnte das Problem lösen:

n=[""] Nur das nullte Element initialisiert und anschließend mit
n.extend

alles was dazu kommt angehängt.

Danke für deine Meldung!

Gruß
Werner
__deets__
User
Beiträge: 14522
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das sieht so aus als ob du genauso gut auch mit einer leeren Liste arbeiten kannst, statt kuenstlich ein Element einfzufuegen.
Benutzeravatar
Kebap
User
Beiträge: 687
Registriert: Dienstag 15. November 2011, 14:20
Wohnort: Dortmund

Hallo Werner,

du kannst einfach mit n=[] starten. Python braucht keine Dimensionierung vorab, sondern verlängert die Listen automatisch, wenn neue Objekte hinzugefügt werden. Es gibt übrigens extend() und append(), beide je nach bevorzugtem Einsatzzweck hilfreich.

Alternativ startest du auch gar nicht mit einer leeren Liste, sondern legst direkt die ersten Objekte in die Liste. Mit einer List comprehension kannst du sogar vollständige Listen mit einem einzigen Befehl in neue Listen überführen. Dies ist oft sehr hilfreich und in anderen Sprachen deutlich umständlicher. Ich weiß ja nicht, welche Sprachen du vorher schon kanntest, und weswegen du auf die Idee mit der Dimensionierung gekommen bist.
MorgenGrauen: 1 Welt, 8 Rassen, 13 Gilden, >250 Abenteuer, >5000 Waffen & Rüstungen,
>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.
Antworten