2017-11-04 107 views
-5

我想从以下词典拔出严格的索引号:打印字典索引号?

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 

我确定这是简单的东西,我忽略了吗?

+1

什么是X在这里请详细说明问题 –

+0

X正代表了未知。我更新了这个字典被称为“数据”。我可以在边“数据”上输入一些命令,以便打印第一个索引号吗? –

+1

请给出一个'x'的示例值和输出结果。 – gommb

回答

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'}}

假设你想要的一致性,我已经添加了丢失的报价为好。

+0

啊。好。是的,我的术语不正确。谢谢!! –

+0

@GeorgeRodman没问题,我希望这有助于。 –

+0

@GeorgeRodman我已经扩展了我的答案,包括预定义的搜索。 –

-2

你能否澄清你从哪里得到'x'?如果你想打印的键,你可以做

for i in dict: 
    print(i) 
+0

如果你没有评论的代表,不要把它们放到这样的“答案”中。 – martineau

0

关于字典在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]) 
+0

完美。是的,谢谢! –