• Как развернуть односвязный список в Python 3?

    @powerind
    С рекурсией но без печати
    def recu(d):
        l = []
        if d.get('next') is not None:
            l.append(d.get('value', None))
            l.extend(recu(d['next']))
        else:
            l.append(d.get('value', None))
        return l

    Или вот без рекурсии:
    def non_recu(d):
        l = []
        while True:
            l.append(d.get('value', None))
            d = d.get('next', None)
            if d is None:
                break
        return l

    Воспользоваться можно так:
    recu(d)
    [1, 2, 3, 4]
    non_recu(d)
    [1, 2, 3, 4]
    Ответ написан
    Комментировать