У меня есть словарь с вложенными списками.Мне нужно отсортировать по году, названию и директору, и распечатать его как
year:
title director
etc.
Проблема, с которой я сейчас сталкиваюсь (пока не занимаюсь сортировкой), заключается в том, что при попытке распечатать списки с ключа, для2006 и 2011, где есть вложенные списки, он печатает два отдельных 2006 и 2011 годов.Мой код:
movie_dictionary = {
'2005':[['Munich','Steven Spielberg,']],
'2006':[['The Prestige','Christopher Nolan,'],['The
Departed,','Martin Scorsese']],
'2007':[['Into the Wild,','Sean Penn']],
'2008':[['The Dark Knight,','Christopher Nolan']],
'2009':[['Mary and Max,','Adam Elliot']],
'2010':[["The King's Speech,",'Tom Hooper']],
'2011':[
['The Artist,','Michel Hazanavicius'],
['The Help,','Tate Taylor']
],
'2012':[['Argo,','Ben Affleck']],
'2013':[['12 Years a Slave,','Steve McQueen']],
'2014':[['Birdman,','Alejandro G. Inarritu']],
'2015':[['Spotlight,','Tom McCarthy']],
'2016':[['The BFG,','Steven Spielberg']]
}
# Prompt the user for a year
year = input('Enter a year between 2005 and 2016:\n')
# Displaying the title(s) and directors(s) from that year
movie_display = movie_dictionary.get(year,'N/A')
if movie_display == 'N/A':
print('N/A')
else:
for movie in movie_display:
print(movie[0],movie[1])
# Display menu
print()
print("MENU")
print("Sort by:\n"
"y - Year\n"
"d - Director\n"
"t - Movie title\n"
"q - Quit\n")
user_input = input('Choose an option:\n').lower().strip()
if user_input == 'q':
exit()
elif user_input == 'y':
for year, movie in sorted(movie_dictionary.items()):
for movies, director in movie:
print(year+':\n', str(movies), str(director))
elif user_input == 'd':
print()
elif user_input == 't':
print()
Вывод:
Enter a year between 2005 and 2016:
The Artist, Michel Hazanavicius
The Help, Tate Taylor
MENU
Sort by:
y - Year
d - Director
t - Movie title
q - Quit
Choose an option:
2005:
Munich Steven Spielberg,
2006:
The Prestige Christopher Nolan,
2006:
The Departed, Martin Scorsese
2007:
Into the Wild, Sean Penn
2008:
The Dark Knight, Christopher Nolan
2009:
Mary and Max, Adam Elliot
2010:
The King's Speech, Tom Hooper
2011:
The Artist, Michel Hazanavicius
2011:
The Help, Tate Taylor
2012:
Argo, Ben Affleck
2013:
12 Years a Slave, Steve McQueen
2014:
Birdman, Alejandro G. Inarritu
2015:
Spotlight, Tom McCarthy
2016:
The BFG, Steven Spielberg
Я хочу, чтобы 2011 и 2006 годы были объединены в одно с двумя заголовками.Также какие-либо рекомендации по сортировке?