Estimasi Waktu Baca: 2 menit

Deskripsi Fungsi

Fungsi sorted() digunakan untuk mengurutkan iterable baik secara ascending (naik) atau descending (turun)

Sintaks dan Parameter

Sintaks dari fungsi sorted() adalah sebagai berikut:


>>> sorted(iterable, key=None, reverse=False)

Fungsi sorted() menerima tiga buah parameter yang setidaknya satu diantaranya wajib diisi

  • iterable – sequence (string, list, tuple), collection (set, dictionary, frozenset), atau iterator lainnya.
  • key (opsional) – fungsi kunci yang digunakan sebagai pembanding pengurutan. Defaultnya adalah None.
  • reverse (opsional) – menentukan apakah iterable diurut secara terbalik (descending) atau tidak (ascending). Jika bernilai True maka iterable akan diurut secara terbalik. Defaultnya adalah False

Perlu diingat bahwa parameter key dan reverse adalah keyword argumen, artinya saat didefinisikan perlu juga ditambah keyword seperti ini:


>>> sorted(iterable, key=function, reverse=True)

bukan seperti ini


>>> sorted(iterable, function, True)

Karena nantinya akan menimbulkan pesan TypeError

Contoh Penerapan

Mengurutkan Elemen Dalam String, List, Tuple

>>> # string
... obj_string = 'python'
>>> print(sorted(obj_string))
['h', 'n', 'o', 'p', 't', 'y']

>>> # list
... obj_list = ['e', 'u', 'o', 'a', 'i']
>>> print(sorted(obj_list))
['a', 'e', 'i', 'o', 'u']

>>> # tuple
... obj_tuple = ('e', 'u', 'o', 'a', 'i')
>>> print(sorted(obj_tuple))
['a', 'e', 'i', 'o', 'u']

Mengurutkan Elemen Secara Descending


>>> # set
... obj_set = {'e', 'u', 'o', 'a', 'i'}
>>> print(sorted(obj_set, reverse=True))
['u', 'o', 'i', 'e', 'a']

>>> # dictionary
... obj_dict = {'e':1, 'u':2, 'o':3, 'a':4, 'i':6}
>>> print(sorted(obj_dict, reverse=True))
['u', 'o', 'i', 'e', 'a']

>>> # frozenset
... obj_frozenset = frozenset(('e', 'u', 'o', 'a', 'i'))
>>> print(sorted(obj_frozenset, reverse=True))
['u', 'o', 'i', 'e', 'a']

Mengurutkan List Dengan Fungsi Kunci


# mengurutkan dengan membandingkan nilai dari elemen kedua
def ambil_kedua(ele):
	return ele[1]

# random list
random = [(3, 4), (4, 1), (2, 2), (1, 3)]

# cetak list secara ascending
print('List setelah diurutkan secara ascending:', sorted(random, key=ambil_kedua))

# cetak list secara descending
print('List setelah diurutkan secara descending:', sorted(random, key=ambil_kedua, reverse=True))

Keluaran:


List setelah diurutkan secara ascending: [(4, 1), (2, 2), (1, 3), (3, 4)]
List setelah diurutkan secara descending: [(3, 4), (1, 3), (2, 2), (4, 1)]