Почему '.sort()' приводит к тому, что список в Python равен 'None'?

Я пытаюсь отсортировать список Python из ints, а затем использовать Функция .pop()для возврата самого высокого значения. Я пытался написать метод разными способами:

def LongestPath(T):    
    paths = [Ancestors(T,x) for x in OrdLeaves(T)]
    #^ Creating a lists of lists of ints, this part works
    result =[len(y) for y in paths ]
    #^ Creating a list of ints where each int is a length of the a list in paths
    result = result.sort()
    #^meant to sort the result
    return result.pop()
    #^meant to return the largest int in the list (the last one)

Я также пробовал

def LongestPath(T):
    return[len(y) for y in [Ancestors(T,x) for x in OrdLeaves(T)] ].sort().pop()

В обоих случаях .sort()приводит к тому, что список будет None(который не имеет .pop()и возвращает ошибку). Когда я удаляю .sort(), он работает нормально, но не возвращает самый большой int, так как список не отсортирован.

8
задан agf 19 March 2012 в 09:26
поделиться