Python:这些是一样的吗?

时间:2015-12-14 15:51:51

标签: python-3.x

查看下面的代码并解释它的含义:

hash = { ’one’ : 1, ’two’ : 2, ’three’ : 3 }

hash = {’three’: 3, ’two’: 2, ’one’: 1}

3 个答案:

答案 0 :(得分:2)

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],则两种情况下的值都会有所不同。

但是在散列的情况下,您使用分配的密钥来访问该值,因此,它没有任何区别。订单无关紧要。这是因为散列函数不关心位置。它仅在键/值对的基础上起作用。

简而言之,两个哈希都是相同的,并且会为特定键提供相同的输出。

答案 1 :(得分:0)

假设您删除了明显的印刷错误,它们可能不一定相同,但它们肯定会无法区分

也就是说,没有任何操作可以应用于任何一个版本,它将显示元素插入容器的顺序。

答案 2 :(得分:0)

基本上,您正在创建一个字典,它是一个包含键值对的数据结构。您在“:”左侧看到的是关键,您在“:”右侧看到的是值。 为了获得您使用的密钥的特定值:hash[key]

两行之间没有区别,因为创建词典时顺序不计算,因为键值对是相同的。