我正试图严格从以下字典中提取索引号:
data = {0: {'GAME_ID': '0021600457', 'TEAM_ID': 1610612744}, 1: {'GAME_ID':
'0021600457', 'TEAM_ID': 1610612744}, 2: {'GAME_ID': '0021600457', 'TEAM_ID':
1610612744}
我希望能够做一些像
这样的事情print(data[x])
让它回归:
0
我确信这是一件我很容易忽视的事情吗?
答案 0 :(得分:1)
docs中有关字典操作的更多信息。
这就是你想要的?:
data = {0: {'GAME_ID': '0021600457', 'TEAM_ID': 1610612744},
1: {'GAME_ID': '0021600457', 'TEAM_ID': 1610612744},
2: {'GAME_ID': '0021600457', 'TEAM_ID': 1610612744}}
for key in data:
print (key)
# Outputs:
0
1
2
如果您尝试迭代值:
data = {0: {'GAME_ID': '0021600457', 'TEAM_ID': 1610612744},
1: {'GAME_ID': '0021600457', 'TEAM_ID': 1610612744},
2: {'GAME_ID': '0021600457', 'TEAM_ID': 1610612744}}
for value in data.values():
print (value)
# or
for key in data:
print (data[key])
答案 1 :(得分:0)
我认为您已将索引号与键混淆。 字典就是这样形成的:
{key: value}
data.keys()
将返回密钥列表。
在你的情况下:
data.keys()
[0,1,2]
从那里,您可以调用第一项,即0(列表中的第一项为0,然后进一步)。
data.keys()[0]
0
如果您要按预定义值查找特定键,请尝试:
x = 'GAME_ID'
y = '0021600457'
for index_num, sub_dict in data.items():
for eachsub_keys in sub_dict.keys():
if eachsub_keys == x:
print(index_num)
for index_num, sub_dict in data.items():
for eachsub_values in sub_dict.values():
if eachsub_values == y:
print(index_num)
Output:
0
1
2
0
1
2
注意: python3不再使用.iteritems()
顺便说一句,你最后错过了一个花括号。它应该是这样的:
data = {0: {'GAME_ID': '0021600457', 'TEAM_ID': '1610612744'}, 1: {'GAME_ID':
'0021600457', 'TEAM_ID': '1610612744'}, 2: {'GAME_ID': '0021600457', 'TEAM_ID':
'1610612744'}}
假设你想要一致性,我也添加了缺失的引号。
答案 2 :(得分:-1)
你能否澄清一下你从哪里得到'x'?如果你想打印键,你可以做
for i in dict:
print(i)