Sorting together: MongoDB + Python
In this exercise you'll explore the prizes in the physics category.You will use Python to sort laureates for one prize by last name, and then MongoDB to sort prizes by year:
1901: Röntgen
1902: Lorentz and Zeeman
1903: Becquerel and Curie and Curie, née Sklodowska
You'll start by writing a function that takes a prize document as an argument, extracts all the laureates from that document, arranges them in alphabetical order, and returns a string containing the last names separated by " and "
.
The Nobel database is again available to you as db
. We also pre-loaded a sample document sample_prize
so you can test your laureate-extracting function.
(Remember that you can always type help(function_name)
in console to get a refresher on functions you might be less familiar with, e.g. help(sorted)
!)
This exercise is part of the course
Introduction to MongoDB in Python
Hands-on interactive exercise
Have a go at this exercise by completing this sample code.
from operator import itemgetter
def all_laureates(prize):
# sort the laureates by surname
sorted_laureates = sorted(____, key=itemgetter(____))
# extract surnames
surnames = [____ for laureate in ____]
# concatenate surnames separated with " and "
all_names = " and ".join(surnames)
return all_names
# test the function on a sample doc
print(all_laureates(sample_prize))