Warum gibt der folgende Code 'None' aus? Wie kann ich das beheben?
def f1(list1):
f2(list1.append(2))
def f2(list1):
print(list1)
f1([1])
Was auch nicht funktioniert:
def f1(list1):
arg1 = list1.append(2)
f2(arg1)
Warum gibt der folgende Code 'None' aus? Wie kann ich das beheben?
def f1(list1):
f2(list1.append(2))
def f2(list1):
print(list1)
f1([1])
Was auch nicht funktioniert:
def f1(list1):
arg1 = list1.append(2)
f2(arg1)
Es kommt darauf an, was du tun möchtest. Wenn du möchtest, dass list1
nach einem Aufruf von f1
geändert wird, verwende
def f1(list1):
list1.append(2)
f2(list1)
Schau dir an, was passiert:
>>> l = [1]
>>> f1(l) # Ändert l direkt!
[1, 2]
>>> l
[1, 2]
Wenn du nicht möchtest, dass list1
geändert wird:
def f1(list1):
f2(list1 + [2])
Schau dir nun das an:
>>> l = [1]
>>> f1(l) # Lässt l unverändert!
[1, 2]
>>> l
[1]
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.