看看下面的代碼,並解釋它說明:Python:這些都一樣嗎?
hash = { ’one’ : 1, ’two’ : 2, ’three’ : 3 }
hash = {’three’: 3, ’two’: 2, ’one’: 1}
看看下面的代碼,並解釋它說明:Python:這些都一樣嗎?
hash = { ’one’ : 1, ’two’ : 2, ’three’ : 3 }
hash = {’three’: 3, ’two’: 2, ’one’: 1}
假設您刪除明顯的印刷錯誤,他們不一定是相同的,但他們肯定會區分。
也就是說,沒有任何操作可以應用於任何版本,以顯示元素插入容器的順序。
基本上,您正在創建一個字典,它是一個包含在鍵值對中的數據結構。您在「:」左側看到的是關鍵,您在「:」右側看到的是該值。 爲了讓你使用一個關鍵的特定值:hash[key]
有兩條線沒有區別,因爲當你創建詞典,因爲鍵值對是相同的順序不計。
hash = {'one':1,'two':2,'three':3}
hash = {'three':3,'two':2,'one':1}
這是散列正確的聲明(沒有印刷錯誤)。 爲了獲得價值,你應該使用hash[key]
。 考慮到上述兩個哈希值: 如果您輸入hash[three]
,它將返回值3
。 輸出(3
)在上述兩個哈希的情況下都保持不變。
哈希與列表不同。在列表中,您可以使用索引/位置來獲取值。
a = [1,2,3]
a = [3,2,1]
如果您輸入a[0]
,則兩種情況下的值都不相同。
但是在散列的情況下,您使用分配的鍵來訪問該值,因此它沒有區別。訂單無關緊要。這是因爲散列函數並不關心位置。它僅在鍵/值對的基礎上工作。
簡而言之,兩個哈希都是相同的,並且會爲特定的鍵提供相同的輸出。
'a = {3,2,1}'在Python中創建一個集合,而不是一個數組。你可能想用一個帶方括號的列表來代替:'a = [3,2,1]' –
@MarkusMeskanen 我沒有注意到它。編輯它。謝謝了很多。 –
>>> hash = {'three':3,'two':2,'one':1}
>>> hash1 = {'one':1,'two':2,'three':3}
>>> hash == hash1
True
>>> type(hash) == type(hash1)
True
>>> id(hash) == id(hash1)
False
請考慮解釋你的答案。 – Maroun
沒有說明太多,因爲它們都充滿了語法錯誤。 '''不是有效的引號 - 不要使用微軟的詞來編輯你的代碼。 –