菜鳥在這里,我找不到合適的解釋。
我們有一個簡單的字典:
a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
回圈并訪問我必須呼叫的這個 dict 的值
for key in a_dict:
print(key, '->', a_dict[key])
我說的是
a_dict[key]
具體來說。為什么python使用這個約定?這背后的邏輯在哪里?當我想獲取字典的值時,我應該稱它為
a_dict[value] or a_dict[values] etc
相反(邏輯思考)。
任何人都可以解釋它更有意義嗎?
編輯:
要清楚:為什么python使用a_dict[key]來訪問dict VALUE而不是a_dict[value]。邏輯上。
uj5u.com熱心網友回復:
我認為您誤解了字典的一些術語:
在你的榜樣,你的鑰匙是color,fruit和pet。你的價值觀是blue,apple和dog。
在python中,您可以通過呼叫訪問您的值a_dict[key],例如a_dict["color"]將回傳"blue"。
如果 python 使用您建議的 方法a_dict[value],則您必須在嘗試訪問它之前知道您的值是什么,例如a_dict["blue"]需要 get "blue",這毫無意義。
在 Feras 的回答中,嘗試閱讀更多關于詞典如何在這里作業的資訊
uj5u.com熱心網友回復:
根據您的問題,我認為您的意思是為什么 python 不使用索引而不是鍵來訪問字典中的值。
請注意,python 中有 4 個主要的資料容器,每個容器都有其用途。(還有其他容器,如柜臺和...)
例如,串列和元組的元素可以通過它們的索引訪問。
a = [1,2,3,4,5]
print(a[0]) would print 1
但是字典正如其名稱所示,從某些物件(python 術語中的鍵)映射到其他一些物件(python 術語中的值)。所以我們會呼叫鍵而不是索引,輸出將是值。
a = { 'a':1 , 'b':2 }
print(a['a']) would print 1
我希望它能讓你更清楚一點。
uj5u.com熱心網友回復:
這是因為,python 中的字典在記憶體內部使用哈希函式映射鍵和值。
因此,要獲得該值,您必須傳入key.
您可以將其視為串列的索引與串列的元素,現在要提取特定元素,您可以使用lst[index]; 這與字典的作業方式相同;而不是傳入索引,你必須傳入key你在字典中使用的,比如dict[key].
另一個比較是字典(有單詞和含義的字典),因為含義映射到單詞,現在您當然會直接搜索給定的單詞word而不是meaning單詞。
uj5u.com熱心網友回復:
您正在搜索一個您不知道它是否存在于字典中的值,因此 a_dict[key] 是邏輯且正確的
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/396538.html
