看看下面的代码,并解释它说明: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
没有说明太多,因为它们都充满了语法错误。 '''不是有效的引号 - 不要使用微软的词来编辑你的代码。 –