Was bedeutet diese Codezeile (Python): L [::2], L [1::2] = L [1::2], L [::2]?
Für solche Fragen reicht es, in die Anleitung zu schauen. Python bietet eine umfangreiche Dokumentation.
Built-in Types
The following sections describe the standard types that are built into the interpreter. The principal built-in types are numerics, sequences, mappings, classes, instances and exceptions. Some colle...
https://docs.python.org/3/library/stdtypes.html#common-sequence-operations
Wem das zu viel Text ist, zahlreiche Seiten bieten eine vereinfachte Übersicht. Angenehm ist diese Seite:
Python - Slicing Strings
W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.
https://www.w3schools.com/python/python_strings_slicing.asp
Schließlich kann man den Code einfach ausführen. Leider muss dazu L existieren. sonst erhält man
Traceback (most recent call last):  
  File "<stdin>", line 1, in <module>  
NameError: name 'L' is not defined 
Zudem muss L eine gerade Anzahl von Elementen enthalten. Sonst erhält man:
Traceback (most recent call last):  
  File "<stdin>", line 1, in <module>  
ValueError: attempt to assign sequence of size 4 to extended slice of size 5 
Falls L eine gerade Sequenz ist, erkennt man das Ergebnis:
L=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]  
>>> L [::2], L [1::2] = L [1::2], L [::2]  
>>> L  
[2, 1, 4, 3, 6, 5, 8, 7, 10, 9, 12, 11, 14, 13, 16, 15] 
Es wird also jedes zweite Element von der ursprünglichen Liste genommen.