如何写一本词典理解和衍生一本新词典

2024-09-30 06:33:58 发布

您现在位置:Python中文网/ 问答频道 /正文

这是给出的代码:

` }


and I want to write a dictionary comprehension to derive a new dict object, called brazilian_players2, that maps a Brazilian player's name to his position!

I came up with:

巴西球员2={“巴西”:球员[“巴西”]代表x在球员[“巴西”]}


but this only gives me the complete team.
I would like to have this outcome:

{'Júlio César','守门员'} ... }

or like 
```{"player_name", "player_position"}```

Tags: andto代码namenewdictionarypositionthis
2条回答

每个播放器都是一个元组,其形式为-(number, name, position, [])。因此,您需要相应地获取这些信息:

目录列表

brazil = []
for _, name, position, _ in players["Brazil"]:
    brazil.append({"name": name, "position": position})

或作为列表:

brazil = [{"name": name, "position": position} for _, name, position, _ in players["Brazil"]]

单个dict

brazil = {}
for _, name, position, _ in players["Brazil"]:
    brazil[name] = position

或者作为一种口述理解:

brazil = {name: position for _, name, position, _ in players["Brazil"]}

您有一个嵌套字典,因此玩家['Brazil']只需转储您嵌套在那里的数组中的所有内容。您需要使用某种循环来访问嵌套信息。这可能是一个更干净的方法,但我的方法是:

for x in players['Brazil']:
   playerName = x[1]
   playerPos = x[2]
   print("%s, %s" % (playerName, playerPos))

您可以从那里将这些变量转储到您的格式(dict或tuple)

相关问题 更多 >

    热门问题