0 Pluspunkte 0 Minuspunkte

Wie kann ich in Python eine Liste von Zahlen umkehren, wobei die Reihenfolge der Elemente erhalten bleibt und keine zusätzliche Liste erstellt wird? Ich möchte die Liste direkt im Speicher umdrehen, um Speicherplatz zu sparen.

def reverse_list(lst):
    reversed_lst = lst[::-1]
    return reversed_lst

my_list = [1, 2, 3, 4, 5]
reversed_list = reverse_list(my_list)
print(reversed_list)  
print(my_list)  
von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Du kannst eine Funktion schreiben die Elemente von beiden Enden der Liste vertauscht, bis sie sich in der Mitte treffen.

def reverse_list_in_place(lst):
    left, right = 0, len(lst) - 1
    
    while left < right:
        lst[left], lst[right] = lst[right], lst[left]
        left += 1
        right -= 1

my_list = [1, 2, 3, 4, 5]
reverse_list_in_place(my_list)
print(my_list)  # Ausgabe: [5, 4, 3, 2, 1]
von