打印字典索引号?

时间:2017-11-04 03:04:23

标签: 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

我确信这是一件我很容易忽视的事情吗?

3 个答案:

答案 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)