Ich habe:
count = 0
i = 0
while count < len(mylist):
if mylist[i + 1] == mylist[i + 13] and mylist[i + 2] == mylist[i + 14]:
print mylist[i + 1], mylist[i + 2]
newlist.append(mylist[i + 1])
newlist.append(mylist[i + 2])
newlist.append(mylist[i + 7])
newlist.append(mylist[i + 8])
newlist.append(mylist[i + 9])
newlist.append(mylist[i + 10])
newlist.append(mylist[i + 13])
newlist.append(mylist[i + 14])
newlist.append(mylist[i + 19])
newlist.append(mylist[i + 20])
newlist.append(mylist[i + 21])
newlist.append(mylist[i + 22])
count = count + 1
i = i + 12
Ich wollte die newlist.append()
Aussagen in ein paar Aussagen umwandeln.
[]
stattdessen verwenden()
. Bitte posten Sie echten Arbeitscode.Antworten:
Nein. Die Methode zum Anhängen einer gesamten Sequenz lautet
list.extend()
.quelle
list.extend()
muss iterierbar sein.Nein.
Zunächst einmal
append
ist eine Funktion, so dass Sie nicht schreiben können,append[i+1:i+4]
weil Sie versuchen, ein Stück von etwas zu bekommen, das keine Sequenz ist. (Sie können auch kein Element davon erhalten:append[i+1]
ist aus demselben Grund falsch.) Wenn Sie eine Funktion aufrufen, steht das Argument in Klammern , dh in den runden:()
.Zweitens versuchen Sie, "eine Sequenz zu nehmen und jedes Element am Ende dieser anderen Sequenz in der ursprünglichen Reihenfolge einzufügen". Das ist geschrieben
extend
.append
ist "nimm dieses Ding und setze es am Ende der Liste als einzelnes Element ein , auch wenn es auch eine Liste ist ". (Denken Sie daran, dass eine Liste eine Art Sequenz ist.)Aber dann müssen Sie sich bewusst sein, dass
i+1:i+4
es sich um ein spezielles Konstrukt handelt, das nur in eckigen Klammern (um ein Slice aus einer Sequenz zu erhalten) und geschweiften Klammern (um eindict
Objekt zu erstellen ) angezeigt wird . Sie können es nicht an eine Funktion übergeben. Damit kannst du nichtextend
. Sie müssen eine Folge dieser Werte erstellen, und der natürliche Weg, dies zu tun, ist mit derrange
Funktion.quelle
Du könntest auch:
quelle
Benutze das :
Mit dem Operator (+) können Sie die mehreren Operatoren zum Anhängen und Erweitern in nur einer Codezeile überspringen. Dies gilt für mehr als zwei Listen von L1 + L2 + L3 + L4 ....... usw.
Viel Spaß beim Lernen ... :)
quelle
AUSGABE:
quelle