>>> fromfruits
{'colors': ['yellow', 'pink', 'green'], 'names': ['banana', 'grapefruit', 'apple']}
>>> [{'name': name, 'color': color} for name in fromfruits['names'] for color in fromfruits['colors']]
[{'color': 'yellow', 'name': 'banana'}, {'color': 'pink', 'name': 'banana'}, {'color': 'green', 'name': 'banana'}, {'color': 'yellow', 'name': 'grapefruit'}, {'color': 'pink', 'name': 'grapefruit'}, {'color': 'green', 'name': 'grapefruit'}, {'color': 'yellow', 'name': 'apple'}, {'color': 'pink', 'name': 'apple'}, {'color': 'green', 'name': 'apple'}]
А теперь более подробно (переформатировано для ясности):
>>>[{'name': name, 'color': color}
for name in fromfruits['names']
for color in fromfruits['colors']]
Это «понимание списка» с двойным for
, которое охватывает все комбинации имен ицвета.Вы можете добавить третий цикл, если хотите смешать другие атрибуты, такие как «форма» или что-то еще.