У меня есть набор данных в форме ключ / значение:
setlist = {{'135350258120342034': {'title':'The Matrix'} {'235350258120342034': {'title':'The Godfather'} {'335350258120342034': {'title':'Atonement'} }
Как я могу отсортировать сет-лист по значению 'ключ', которое является диктатом внутри диктата?
>>> sorted(setlist.items(),key=lambda x:x[1]['title']) [('335350258120342034', {'title': 'Atonement'}), ('235350258120342034', {'title': 'The Godfather'}), ('135350258120342034', {'title': 'The Matrix'})]
Нельзя, сортировку нельзя сортировать.
Что вы можете сделать, это переместить ваш ключ для внешнего диктанта во внутренние, затем поместить их в список и использовать пользовательскую функцию с .sort ()
Если вы хотите перебрать список в отсортированном порядке, вам нужно что-то вроде:
for key, value in sorted(setlist.items(), key = lambda x: x[-1]['title']): pass