1351 Stimmen

Wie kann man eine Liste umkehren?

Wie kann ich in Python rückwärts über eine Liste iterieren?

array = [0, 10, 20, 40]
for (i = array.length() - 1; i >= 0; i--)

-1voto

Emma Punkte 26329

Diese Klasse verwendet magische Python-Methoden und Iteratoren zum Umkehren und kehrt eine Liste um:

class Reverse(object):
    """ Builds a reverse method using magic methods """

    def __init__(self, data):
        self.data = data
        self.index = len(data)

    def __iter__(self):
        return self

    def __next__(self):
        if self.index == 0:
            raise StopIteration

        self.index = self.index - 1
        return self.data[self.index]

REV_INSTANCE = Reverse([0, 10, 20, 40])

iter(REV_INSTANCE)

rev_list = []
for i in REV_INSTANCE:
    rev_list.append(i)

print(rev_list)  

Ausgabe

[40, 20, 10, 0]

-1voto

k15 Punkte 15
>>> L = [1, 2, 3, 4]
>>> L = [L[-i] for i in range(1, len(L) + 1)]
>>> L
[4, 3, 2, 1]

-1voto

Khush Chauhan Punkte 29

Ein sauberes, einfaches Klassenobjekt zur Lösung Ihres Problems.

class lister():
    def reverse(self):
        return  [self[len(self)-e]for e,x in enumerate(self,start=1)]
print(lister.reverse([0, 10, 20, 40]))

-1voto

umesh Punkte 51

Alternativer Weg mit Listenverständnis und abs

array = [0, 10, 20, 40]

reversed_array = [array[abs(indx)] for indx in range(abs(len(array)-1),1)]

reversed_array
[40, 20, 10, 0]

-1voto

sumit Punkte 17
The cute Solution

class List_reverse():
    def reverse_list(self):
        list = [1, 2, 3, 4, 5, 6]
        list1 = []
        for i in range(1, len(list)+1):
            list1.append(list[-i])
        print(list1)

if __name__ == "__main__":
    obj = List_reverse()
    obj.reverse_list()
    enter code here

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X