xxxxxxxxxx
cars = ['Ford', 'BMW', 'Volvo']
cars.sort(reverse=True)
# For a dataframe
sorted_df = df.sort_values(by=['cat_col', 'num_col'], ascending=[True, False])
each_group_top = sorted_df.groupby(['cat_col'])['num_col'].head(1) # top row of each category column
# Sorted provides more way of customization... example with networkx
sorted(nx.find_cliques(G), key=lambda x:len(x))[-1]
xxxxxxxxxx
1
2
3
4
my_list = [5, 2, 8, 1, 9]
my_list.sort(reverse=True)
print(my_list)
# Output: [9, 8, 5, 2, 1]
Copied!
xxxxxxxxxx
Python .sort() / .sorted()
.sort() Sort modifies the list directly.
names = ["Xander", "Buffy", "Angel", "Willow", "Giles"]
names.sort()
print(names)
# ['Angel', 'Buffy', 'Giles', 'Willow', 'Xander']
.sort() also provides us the option to go in reverse easily.
Instead of sorting in ascending order, we can do so in descending order.
names = ["Xander", "Buffy", "Angel", "Willow", "Giles"]
names.sort(reverse=True)
print(names)
# ['Xander', 'Willow', 'Giles', 'Buffy', 'Angel']
.sorted() generates a new list instead of modifying
one that already exists.
names = ["Xander", "Buffy", "Angel", "Willow", "Giles"]
sorted_names = sorted(names)
print(sorted_names)
# ['Angel', 'Buffy', 'Giles', 'Willow', 'Xander']
xxxxxxxxxx
nums = [4,8,5,2,1]
#1 sorted() (Returns sorted list)
sorted_nums = sorted(nums)
print(sorted_nums)#[1,2,4,5,8]
print(nums)#[4,8,5,2,1]
#2 .sort() (Changes original list)
nums.sort()
print(nums)#[1,2,4,5,8]
xxxxxxxxxx
>>> x = [1 ,11, 2, 3]
>>> y = sorted(x)
>>> x
[1, 11, 2, 3]
>>> y
[1, 2, 3, 11]
xxxxxxxxxx
gList = [ "Rocket League", "Valorant", "Grand Theft Autu 5"]
gList.sort()
# OUTPUT --> ['Grand Theft Auto 5', 'Rocket League', 'Valorant']
# It sorts the list according to their names
xxxxxxxxxx
l = [64, 25, 12, 22, 11, 1,2,44,3,122, 23, 34]
for i in range(len(l)):
for j in range(i + 1, len(l)):
if l[i] > l[j]:
l[i], l[j] = l[j], l[i]
print l
xxxxxxxxxx
words = ["apple","pear","red"]
numbers = [4,2,7,5]
#Parameters:
#key: changes how it sorts the list, For Example: letters.sort(key=len) Sorts by length
#Reverse: Default: sorts in ascending order, if Reverse is True: sorts descending order
words.sort(key=len)
>["red","pear","apple"]
numbers.sort(reverse=True)
>[7,5,4,2]
#sort: changes the list so it is sorted
#sorted: returns the sorted list