Sobes.tech
Junior — Middle

Kas saaksite selgitada, kuidas töötab Pythonis funktsioon sorted ja kuidas see andmeid sorteerib?

sobes.tech AI

Vastus AI-lt

Pythonis sorted funktsioon võtab sisendiks korduvobjekti (näiteks nimekirja, tupi, stringi) ja tagastab uue sorteeritud nimekirja, muutmata algandmeid.

Vaikimisi toimub sortimine kasvavas järjekorras, kasutades elementide loomulikku järjekorda (näiteks numbriline või leksikograafiline järjekord stringidele).

Sortimise käitumist saab muuta parameetritega:

  • key — funktsioon, mis rakendub igale elemendile, et saada väärtus, mille järgi sorteerida.
  • reverse — boolean parameeter, kui True, sorteeritakse kahanevas järjekorras.

Näide:

numbers = [5, 2, 9, 1]
sorted_numbers = sorted(numbers)  # [1, 2, 5, 9]

words = ['apple', 'banana', 'cherry']
sorted_words = sorted(words, key=len)  # sorteerimine sõnade pikkuse järgi

sorted_desc = sorted(numbers, reverse=True)  # [9, 5, 2, 1]

Python kasutab Timsort algoritmi, mis on tõhus reaalsete andmete puhul ja stabiilne (säilitab võrdsete elementide järjekorra).