2017-11-04 143 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

完美。是的,謝謝! –