Bitte schreibe ein Python-Skript, das eine Liste oder ein Set als Eingabe akzeptieren kann und ein Set zurückgibt, wenn es eine Liste ist, und eine Liste zurückgibt, wenn es ein Set ist. Verwende eine Funktion namens "invert_sl".
Erkläre den Unterschied zwischen Sets und Listen in Python. Natürlich! In Python werden sowohl Sets als auch Listen verwendet, um Sammlungen von Elementen zu speichern, aber sie unterscheiden sich in mehreren wichtigen Punkten.

Eine Liste ist eine geordnete Sammlung von Elementen, die indiziert und modifiziert werden kann. Du kannst Elemente zu einer Liste hinzufügen oder entfernen, indem du verschiedene Methoden wie .append(), .insert(), .remove() und andere verwendest. Listen werden durch eckige Klammern [] gekennzeichnet.

Auf der anderen Seite ist ein Set eine ungeordnete Sammlung von eindeutigen Elementen, die nicht indiziert oder modifiziert werden kann. Du kannst Elemente zu einem Set hinzufügen oder entfernen, indem du Methoden wie .add(), .discard() und andere verwendest. Sets werden durch geschweifte Klammern {} gekennzeichnet.

Hier ist ein Beispiel, um den Unterschied zu veranschaulichen:
```python
my_list = [1, 2, 3, 3, 4, 5]  # diese Liste kann doppelte Werte enthalten
my_set = {1, 2, 3, 3, 4, 5}  # dieses Set enthält nur eindeutige Werte

print(my_list)  # Ausgabe: [1, 2, 3, 3, 4, 5]
print(my_set)   # Ausgabe: {1, 2, 3, 4, 5}
```
Zusammenfassend sind Listen geordnet und erlauben Duplikate, während Sets ungeordnet sind und nur eindeutige Werte enthalten.
Natürlich, hier ist eine Implementierung der Funktion "invert_sl", die eine Liste oder ein Set als Eingabe akzeptiert und ein Set zurückgibt, wenn es eine Liste ist, und eine Liste zurückgibt, wenn es ein Set ist:

```python
def invert_sl(input):
    if isinstance(input, list):
        return set(input)
    elif isinstance(input, set):
        return list(input)
    else:
        raise TypeError("Die Eingabe muss eine Liste oder ein Set sein")
```

So kannst du diese Funktion verwenden:

```python
my_list = [1, 2, 3, 3, 4, 5]
my_set = {1, 2, 3, 4, 5}

# Liste in Set umwandeln
new_set = invert_sl(my_list)
print(new_set)  # Ausgabe: {1, 2, 3, 4, 5}

# Set in Liste umwandeln
new_list = invert_sl(my_set)
print(new_list)  # Ausgabe: [1, 2, 3, 4, 5]
```

Die Funktion überprüft zuerst, ob die Eingabe eine Liste oder ein Set ist, indem sie die isinstance()-Funktion verwendet. Wenn die Eingabe eine Liste ist, gibt sie ein Set mit der set()-Funktion zurück. Wenn die Eingabe ein Set ist, gibt sie eine Liste mit der list()-Funktion zurück. Wenn die Eingabe weder eine Liste noch ein Set ist, wird eine TypeError-Fehlermeldung ausgegeben.