Sort

Alphabetical

Order a table by the last_name column:

new_table = table.order_by('last_name')

Numerical

Order a table by the cost column:

new_table = table.order_by('cost')

By date

Order a table by the birth_date column:

new_table = table.order_by('birth_date')

Reverse order

The order of any sort can be reversed by using the reverse keyword:

new_table = table.order_by('birth_date', reverse=True)

Multiple columns

Because Python’s internal sorting works natively with sequences, we can implement multi-column sort by returning a tuple from the key function.

new_table = table.order_by(lambda row: (row['last_name'], row['first_name']))

This table will now be ordered by last_name, then first_name.

Random order

import random

new_table = table.order_by(lambda row: random.random())