Прямо сейчас вы сравниваете список строк, и сортировка происходит лексикографически, и если вы сортируете таким образом, '99999'
является максимальным лексикографически
Следовательно, вам нужно преобразовать список строк всначала список чисел, затем используйте встроенную команду max , чтобы найти максимум.
Сортировка списка, чтобы найти максимум, возможно, является излишним.
Сортировка + поиск максимального значения будет O(n*logn)
в то время как просто найти максимум составляет O(n)
In [40]: list1=['400160', '400161', '400162', '400163', '400164', '400165', '400166', '400167', '400168', '400169', '400170', '400171', '400172', '400173', '400174', '400175', '400
...: 176', '400177','99990', '99991', '99992', '99993', '99994', '99995', '99996', '99997', '99998', '99999']
In [41]: list1 = list(map(int,list1))
In [43]: max(list1)
Out[43]: 400177