Ich bin neu in Python und ich versuche, etwas grundlegendes zu verstehen. Ich habe diesen Code:Ersetzen Sie Buchstaben in einer Zeichenfolge mit Python
def mix_up(a, b):
a,b=b[0:2]+a[2:], a[0:3]+b[3:]
print (a,b)
mix_up("abcd","efgh")
warum b erhalten nicht die "neuen" 3 Buchstaben a (das heißt, "efch")? Gibt es eine elegante Lösung in einer Zeile, oder muss ich andere Variablen verwenden?
Danke!
Die Zuordnung geschieht auch für Tupel-Zuordnungen, nachdem die rechte Seite wurde komplett * * bewertet, das heißt 'a [0: 3] 'bewertet gegen das unmodifizierte' a'. Kannst du beschreiben, was du erreichen willst? – dhke
@BhargavRao Ich hätte es als nah genug betrachtet *. Aber es gibt hier keine Nebenwirkungen, einfach nur von rechts nach links. – dhke
Was ist das Problem, wenn man es so macht "a = b [0: 2] + a [2:] b = a [0: 3] + b [3:]"? – sumit