896 Stimmen

Eine leere Liste mit einer bestimmten Größe in Python erstellen

Wie kann ich eine leere Liste erstellen, die 10 Elemente enthalten kann?

Danach möchte ich in dieser Liste Werte zuweisen. Zum Beispiel:

xs = list()
for i in range(0, 9):
   xs[i] = i

Das ergibt jedoch IndexError: list assignment index out of range . Warum?


Anmerkung der Redaktion:

In Python werden Listen <strong>haben keine festgelegte Kapazität </strong>aber es ist nicht möglich, Elemente zuzuweisen, die nicht bereits vorhanden sind. Die Antworten hier zeigen Code, der eine Liste mit 10 "Dummy"-Elementen erstellt, die später ersetzt werden können. Die meisten Anfänger, die auf dieses Problem stoßen, werden jedoch <em>wirklich nur eine Liste durch Hinzufügen von Elementen erstellen wollen </em>. Dies sollte unter Verwendung der <code>.append</code> Methode, obwohl es oft problemspezifische Möglichkeiten gibt, die Liste direkter zu erstellen. Siehe bitte <a href="https://stackoverflow.com/questions/5653533">Warum gibt dieser iterative Listenerweiterungscode IndexError: list assignment index out of range? Wie kann ich wiederholt Elemente zu einer Liste hinzufügen? </a>für Einzelheiten.

-2voto

Kardi Teknomo Punkte 1100

Die Wiederverwendbarkeit der Funktion sollte verbessert werden.

def createEmptyList(length,fill=None):
    '''
    return a (empty) list of a given length
    Example:
        print createEmptyList(3,-1)
        >> [-1, -1, -1]
        print createEmptyList(4)
        >> [None, None, None, None]
    '''
    return [fill] * length

-2voto

chrome Punkte 3
s1 = []
for i in range(11):
   s1.append(i)

print s1

Um eine Liste zu erstellen, verwenden Sie einfach diese Klammern: "[]"

Um einer Liste etwas hinzuzufügen, verwenden Sie list.append()

-5voto

Akram Saeed Punkte 1

Dieser Code erzeugt ein Array, das 10 Zufallszahlen enthält.

import random
numrand=[]
for i in range(0,10):
   a = random.randint(1,50)
   numrand.append(a)
   print(a,i)
print(numrand)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X