Ich habe folgende einfache Datenstrukturen:Wie kann man zwei Listen von Wörterbüchern in Python verbinden?
teams = [ { 'league_id': 1, 'name': 'Kings' }, { 'league_id': 1, 'name': 'Sharkls' }, { 'league_id': 2, 'name': 'Reign' }, { 'league_id': 2, 'name': 'Heat' } ]
leagues = [ { 'league_id': 1, 'name': 'League 1' }, { 'league_id': 2, 'name': 'League 2' } ]
Und ich habe folgendes dict
Verständnis:
league_teams = { x['league_id']: [ t['name']
for t in teams if t['league_id'] == x ['league_id'] ]
for x in leagues }
Welche ergibt:
{1: ['Kings', 'Sharkls'], 2: ['Reign', 'Heat']}
Gibt es einen einfacheren Weg, mit itertools
oder etwas, um dieses Diktat zu bekommen? Das fühlt sich ein wenig beschwerlich an.
Ist es notwendig, suchen in den 'Ligen'? Willst du nicht: 'league_teams = {x ['name']: [t ['name'] für t in Teams wenn t ['league_id'] == x ['league_id']] für x in Ligen } '? –
* Das fühlt sich ein wenig umständlich an ... ... das könnte bei StackOverflow ein Thema sein, da wir Fehler bei Code beheben, der nicht funktioniert. Erwägen Sie, auf [CodeReview] (http://codereview.stackexchange.com/) zu posten. Ehrlich gesagt, sehe ich kein Problem mit Code. – Parfait