Python 打印字典的索引号?

Python 打印字典的索引号?,python,dictionary,Python,Dictionary,我试图严格地从以下词典中提取索引号: 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 我肯定这是我忽略的简单问题?你能澄清一下“x”

我试图严格地从以下词典中提取索引号:

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

我肯定这是我忽略的简单问题?

你能澄清一下“x”是从哪里来的吗?如果你想打印钥匙,你可以这样做

for i in dict:
    print(i)

我想你把索引号和键弄混了。 词典的组成如下:

{key:value}

data.keys()
将返回密钥列表。 就你而言:

data.keys()
[0,1,2]
从那里,您可以调用第一项,即0(列表中的第一项为0,然后按1前进)

如果要按预定义值查找特定键,请尝试:

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':'002160457','TEAM_ID':'1610612744',1:{'GAME_ID':
'002160457','TEAM_ID':'1610612744',2:{'GAME_ID':'002160457','TEAM_ID':
'1610612744'}}


假设您需要一致性,我也添加了缺少的引号。

中有关字典操作的更多信息

这就是你想要的

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])

这里的X是什么?请详细说明问题X只是代表未知。我更新了它,所以字典被称为“数据”。我可以在“数据”旁边键入一些命令,以便打印第一个索引号吗?请给出
x
的示例值以及输出结果。我没有关于此特定需求的示例。如果我想返回第一个游戏ID,我可以键入print(data[0]['GAME\u ID])并得到'002160457',输入我需要键入什么才能让它返回代表第一条记录的“0”?你可以得到一个带有
data.keys()
的索引列表,但它们不会按任何特定顺序排列。如果他们看起来很正常,那是个意外。如果你没有代表评论,不要把他们放在这样的“回答”中。啊。好啊是的,我的术语不正确。谢谢@我已经扩展了我的答案,包括预定义的搜索。
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])