
Bitweise Operatoren – Kurz & Verständlich
& = nur Lichter an, die in beiden an sind (AND) : 5 & 3 -> 1 (0b0101 & 0b0011 = 0b0001)
| = Lichter an, die in mindestens einem an sind (OR) : 5 | 3 -> 7 (0b0101 | 0b0011 = 0b0111)
^ = Lichter an, wenn sie unterschiedlich sind (XOR) : 5 ^ 3 -> 6 (0b0101 ^ 0b0011 = 0b0110)
~ = alle Schalter umlegen (NOT / Bit-Inversion) : ~5 -> -6 (Bitweise Invertierung) 00000101 -> 11111010
>> = Schalter nach rechts schieben (Right Shift) : 5 >> 1 -> 2 (0b0101 >> 1 = 0b0010)
<< = Schalter nach links schieben (Left Shift) : 5 << 1 -> 10 (0b0101 << 1 = 0b1010)
So allgemein für bitweise Operatoren
- Schreibe beide Zahlen untereinander in Binär.
- Vergleiche jede Spalte nach der gewählten Regel (
&
,|
,^
usw.). - Setze aus den Ergebnissen jeder Spalte die neue Bitfolge zusammen.
- Wandle diese Bitfolge wieder in eine Dezimalzahl um, wenn du das Ergebnis in „normaler“ Zahl sehen willst.
Listenfunktionen
list.insert
(index, value)
In Python funktioniert list.insert(index, value)
so, dass ein neues Element an der angegebenen Position eingefügt wird, und alle existierenden Elemente ab dieser Position nach rechts verschoben werden. Es wird kein vorhandenes Element überschrieben.
test_list = [1, 2, 3, 4]
test_list.insert(-1, 999)
print(test_list)
AUSGABE: [1, 2, 3, 999, 4]
Tuples in Python
Ein Tuple ist eine immutable Datenstruktur – das bedeutet, dass die einzelnen Elemente des Tuples nicht direkt verändert werden können.
Tuple selbst überschreiben
Du kannst aber das gesamte Tuple neu zuweisen, d.h. die Variable kann auf ein neues Tuple zeigen:
t = (1, 2, 3)
t = (10, 20, 30) # ✅ Das ist erlaubt
print(t) # (10, 20, 30)
Mutable Elemente innerhalb eines Tuples
Wenn ein Tuple veränderbare Objekte enthält (z. B. Listen), kann man die Inhalte dieser Objekte ändern, obwohl das Tuple selbst immutable bleibt:
t = (1, [2, 3], 4)
t[1].append(99) # ✅ Die Liste innerhalb des Tuples wird verändert
print(t) # (1, [2, 3, 99], 4)
Das Tuple selbst hat immer noch drei Elemente, seine Struktur bleibt gleich.
Nur die veränderbaren Objekte innerhalb des Tuples können angepasst werden.
Einzelnes Element ändern
t = (1, 2, 3)
t[0] = 100 # ❌ TypeError: ‚tuple‘ object does not support item assignment
Warum? Tuples sind immutable – du kannst einzelne Elemente nicht direkt ändern.