怎么用for循环拿到字典键下的字典键的字典键
时间: 2023-12-29 16:46:20 浏览: 59
可以使用嵌套的for循环来实现。假设有一个字典dict,键为k1,值为一个字典,该字典的键为k2,值为另一个字典,该字典的键为k3,需要获取到k1对应的字典下k2对应的字典下k3对应的值,可以使用如下代码:
```
for k1 in dict:
for k2 in dict[k1]:
for k3 in dict[k1][k2]:
print(dict[k1][k2][k3])
```
其中,第一个for循环用于遍历最外层的字典键,第二个for循环用于遍历对应字典下的字典键,第三个for循环用于遍历最内层的字典键,通过嵌套的方式依次获取到最内层的值。
相关问题
Vbscript 遍历字典没有拿到值
遍历字典时,可以使用 For Each 循环来遍历字典中的键和值。下面是一个简单的示例:
```
Dim dict
Set dict = CreateObject("Scripting.Dictionary")
dict.Add "Name", "John"
dict.Add "Age", 30
dict.Add "Gender", "Male"
For Each key In dict.Keys
WScript.Echo key & " : " & dict.Item(key)
Next
```
在上面的示例中,创建了一个字典对象 dict,并向其中添加了三个键值对。然后使用 For Each 循环遍历字典中的每个键,并打印出键和对应的值。
如果你仍然没有拿到值,可能是因为字典中没有对应的键或者值。你可以使用字典对象的 Count 属性来获取字典中的元素数量,以确保你的字典中有你要查找的键和值。
# 用字符串来存储最原始的球员信息 player_infos = """Carmelo Anthony,Portland Trail Blazers,SF; Anthony Davis,Los Angeles Lakers,PF; LeBron James,Los Angeles Lakers,SF; Kevin Durant,Brooklyn Nets,SF; James Harden,Brooklyn Nets,PG; Kyrie Irving,Brooklyn Nets,SG; Damian Lillard,Portland Trail Blazers,PG""" # 将原始字符串通过split方法以分号来切割,得到一个列表,并赋值给一个变量 player_infos_list = player_infos.split(';') # 创建一个空字典,用于存储{球队:球员信息列表} team_dict_ = {} # 遍历刚才切割得到的列表,每一个元素都是一个球员信息的字符串 for player_str in player_infos_list: # 将球员字符串通过逗号进行再次切割,得到一个列表,列表里面包含了一个球员的三个特征 player = player_str.split(',') # 获取球员姓名 player_name = player[0].strip() # 获取球员的球队 player_team = player[1].strip() # 获取球员的位置 player_position = player[2].strip() # 将球员信息构建为一个字典 player_info_dic = {"name": player_name, "team": player_team, "position": player_position} # 首先判断球队在不在定义的team_dict里面,如果不在,就为team_dict增加一对键值对,键为球队,值为一个空列表 if player_team not in team_dict: team_dict[player_team] = [] # 然后将球员信息追加到这个列表里面,当循环走完,team_dict里面就存储了所有的球队和球员信息 team_dict[player_team].append(player_info_dic) # team_dict里面获取所有的球队信息,并拼成一个字符串 teams = '|'.join(list(team_dict.keys())) # 通过input函数让用户输入需要查询的球队 team = input("请输入你要查询的球队%s:" % teams) # 利用字典的键索引拿到该球队所有的球员信息列表 team_info = team_dict[team] # 打印表头 print('+' + '-' * 67 + '+') # 这里使用了字符串的center方法和字符串的格式化表达 print("|%s|%s|%s|" % ( 'name'.center(25), 'team'.center(30), 'position'.center(10) )) print('+' + '-' * 67 + '+') # 遍历球员信息列表,格式化打印每个球员信息 for player_info in team_info: print("|%s|%s|%s|" % ( player_info['name'].center(25), player_info['team'].center(30), player_info['position'].center(10), )) print('+' + '-' * 67 + '+')
这段代码是一个Python程序,用于处理篮球球员信息。它首先将一个包含多个球员信息的字符串切割成列表,然后再将每个球员信息切割成三个特征:姓名、所在球队和位置。接着,它将每个球员信息构建成一个字典,并将字典追加到对应球队的列表里面,最终得到一个以球队为键、球员信息列表为值的字典。程序会提示用户输入需要查询的球队,并根据用户输入的球队获取该球队所有的球员信息列表。最后,程序会打印表头和每个球员的信息。
阅读全文