元素排序

列表和集合 / 列表

numbers = [11, 2, 5, 7, 3]

# sorted returns a new list
ascending = sorted(numbers)
# ascending is [2, 3, 5, 7, 11], numbers is [11, 2, 5, 7, 3]
print(f'{ascending = }')
print(f'{numbers = }')

# sort changes the list itself
numbers.sort()
# numbers is [2, 3, 5, 7, 11]
print(f'{numbers = }')

# descending
numbers.sort(reverse=True)
# numbers is [11, 7, 5, 3, 2]
print(f'{numbers = }')

lst = [['B', 3], ['A', 2], ['C', 1]]
lst.sort(key=lambda pair: pair[0])
# lst is [['A', 2], ['B', 3], ['C', 1]]
print(f'{lst = }')

lst.sort(key=lambda pair: pair[1], reverse=True)
# lst is [['B', 3], ['A', 2], ['C', 1]]
print(f'{lst = }')

# Number strings by value, not as text
as_numbers = sorted(['11', '2', '5'], key=int)
# as_numbers is ['2', '5', '11']
print(f'{as_numbers = }')