2017-02-24 39 views
0

我有这本字典。检索嵌套字典中的唯一键列表

d = {'match1': {'player1': 57, 'player2': 38}, 
    'match2': {'player1': 42, 'player3': 9}, 
    'match3': {'player2': 41, 'player3': 91, 'player4': 63}} 

我想一个循环,与指数运行player1, player2, player3, player4. 如何编写循环结构?可能还有更多玩家

我想:

for i in ["player1", "player2", "player3", "player4"]: 

但这只能用于正好4名球员。如果玩家多多少少该怎么办?

回答

0

这听起来像你想构造通过将数字后缀附加到一个常量字符串的关键。使用str.format

for i in range(1,5): 
    key = 'player{}'.format(i) 
    print(key) # player1, player2, ... 
0

迭代所有匹配,收集所有遇到的玩家名称进行设置。之后迭代该集。

players = {player for match_name in d for player in d[match_name]]} 
for player in players: 
    print(player)