Python: Кортежи / словари в качестве ключей, выбор, сортировка

предположим, что у меня есть много фруктов разного цвета, например, 24 синих банана, 12 зеленых яблок, 0 синих клубник и так далее. Я хотел бы организовать их в структуре данных в Python, которая позволяет легко выбирать и сортировать. Моя идея заключалась в том, чтобы поместить их в словарь с кортежами в качестве ключей, например,

{ ('banana',    'blue' ): 24,
  ('apple',     'green'): 12,
  ('strawberry','blue' ): 0,
  ...
}

или даже в словари, например,

{ {'fruit': 'banana',    'color': 'blue' }: 24,
  {'fruit': 'apple',     'color': 'green'}: 12,
  {'fruit': 'strawberry','color': 'blue' }: 0,
  ...
}

. Я хотел бы получить список всех синих фруктов или бананов всех цветов, например, или отсортировать этот словарь по названию фруктов. Есть ли способы сделать это чисто?

Вполне возможно, что словари с кортежами в качестве ключей не являются правильным способом справиться с этой ситуацией.

Все предложения приветствуются!

94
задан Nico Schlömer 2 February 2011 в 19:24
поделиться