Wiem, że brzmi to banalnie, ale nie zdawałem sobie sprawy, że sort()
funkcja Pythona jest dziwna. Mam listę „liczb”, które są w rzeczywistości w postaci ciągów, więc najpierw konwertuję je na liczby całkowite, a następnie próbuję posortować.
list1=["1","10","3","22","23","4","2","200"]
for item in list1:
item=int(item)
list1.sort()
print list1
Daje mi:
['1', '10', '2', '200', '22', '23', '3', '4']
Ja chcę
['1','2','3','4','10','22','23','200']
Rozejrzałem się za niektórymi algorytmami związanymi z sortowaniem zestawów liczbowych, ale te, które znalazłem, obejmują sortowanie zestawów alfanumerycznych.
Wiem, że jest to prawdopodobnie nie do pomyślenia problem, ale Google i mój podręcznik nie oferują nic bardziej lub mniej użytecznego niż ta .sort()
funkcja.
list1
. Co sprawiło, że myślisz, że list
jest aktualizowane?
sorted(mylist)