Hi I have this dictionary :
players = {
'L. Messi': {
'age': 31,
'nationality': 'Argentina',
'teams': ['Barcelona']
},
'Cristiano Ronaldo': {
'age': 33,
'nationality': 'Portugal',
'teams': ['Juventus', 'Real Madrid', 'Manchester United']
},
'Neymar Jr': {
'age': 26,
'nationality': 'Brazil',
'teams': ['Santos', 'Barcelona', 'Paris Saint-German']
},
'De Gea': {
'age': 27,
'nationality': 'Spain',
'teams': ['Atletico Madrid', 'Manchester United']
},
'K. De Bruyne': {
'age': 27,
'nationality': 'Belgium',
'teams': ['Chelsea', 'Manchester City']
}
}
how can I create a list of tuples containing each players names with their nationality? should I use zip()
Hi I have this dictionary :
players = {
'L. Messi': {
'age': 31,
'nationality': 'Argentina',
'teams': ['Barcelona']
},
'Cristiano Ronaldo': {
'age': 33,
'nationality': 'Portugal',
'teams': ['Juventus', 'Real Madrid', 'Manchester United']
},
'Neymar Jr': {
'age': 26,
'nationality': 'Brazil',
'teams': ['Santos', 'Barcelona', 'Paris Saint-German']
},
'De Gea': {
'age': 27,
'nationality': 'Spain',
'teams': ['Atletico Madrid', 'Manchester United']
},
'K. De Bruyne': {
'age': 27,
'nationality': 'Belgium',
'teams': ['Chelsea', 'Manchester City']
}
}
how can I create a list of tuples containing each players names with their nationality? should I use zip()
Share Improve this question edited Mar 26 at 4:15 Ken Y-N 15k22 gold badges79 silver badges121 bronze badges asked Mar 26 at 4:13 jose ortegajose ortega 211 bronze badge1 Answer
Reset to default 3zip()
Isn't needed as the data is already structured. Instead lets use list comprehension.
player_nationalities = [(name, info['nationality']) for name, info in players.items()]
print(player_nationalities)
This will output the required list of tuples.