# sort - метод списка. Приметяется только к спискам - list
#
# sorted - встроенная функция - применяется к итерабельным последовательностям
# всегда возвращает список

a = [8, -12, 55, -50, 77, 99, -33] #list \ список
b = 'hello world' #string \ строка
c = ('hello', 'mate', "what's", 'up') #tuple \ кортеж

a.sort()

print(a) #[-50, -33, -12, 8, 55, 77, 99] - сортирует от min to max vaule

#a = a.sort() #теряем значениею Нельзя использовать писвоение!
#print(a) #None
# для присвоения используется функция sorted

d = sorted(a)

print(d) # [-50, -33, -12, 8, 55, 77, 99]
b1 = sorted(b)

print(b1) # [-50, -33, -12, 8, 55, 77, 99]
c1 = sorted(c) #[' ', 'd', 'e', 'h', 'l', 'l', 'l', 'o', 'o', 'r', 'w']
print(c1) # ['hello', 'mate', 'up', "what's"], сравнивать можно только строки
#если в кортеже будет еще и цифры, будет выдавать - ошибку.

# ??? чем похожи ???
#a.sort(a, key=function, reverse=True\False)
#c = sorted(c, key=function, reverse=True\False)
#c = sorted(c, reverse=False) #по умолчанию reverse=False, если поменять на True,
# то пойдут в обратном порядке.
#True - убывание.
#False - возрастание.
a = [8, -12, 55, -50, 77, 99, -33]

b = 'hello world'
c = ('hello', 'mate', "what's", 'up')

a = sorted(a, reverse=True)
b = sorted(b, reverse=True)
c = sorted(c, reverse=True)
print(a) # [99, 77, 55, 8, -12, -33, -50] - с конца алфавита в начало.
print(b) # ['w', 'r', 'o', 'o', 'l', 'l', 'l', 'h', 'e', 'd', ' '] - с конца алфавита в начало.
print(c) # ["what's", 'up', 'mate', 'hello'] - с конца алфавита в начало.
a = sorted(a, reverse=False)

b = sorted(b, reverse=False)
c = sorted(c, reverse=False)
print(a) # [-50, -33, -12, 8, 55, 77, 99] - с начала в конец алфавита.
print(b) # [' ', 'd', 'e', 'h', 'l', 'l', 'l', 'o', 'o', 'r', 'w'] - с начала в конец алфавита.
print(c) # ['hello', 'mate', 'up', "what's"] - с начала в конец алфавита.