变量组与字典组

时间:2017-07-05 19:12:18

标签: performance dictionary

所以,我正在研究如何批量创建一个数组,并注意到一种方法可以允许一个关联数组,如结构。这让我想知道,一堆变量是否会提供相同的访问时间并执行与字典相同的操作,但没有散列?

例如,会:

a=1
b=2
c=3
d=4
e=5

与具有相同值的字典具有相同的查找时间吗?但是,一组变量是否会绕过必须使用哈希函数来确定变量的存储位置的问题?这取决于语言以及它如何处理变量和对象吗?

好的,所以为了更清楚,请说你有以下代码:

a = 1
b = 2
c = 3
d = 4
e = 5
f = 6
g = 7
h = 8

dictionary = {
    "a":1,
    "b":2,
    "c":3,
    "d":4,
    "e":5,
    "f":6,
    "g":7,
    "h":8
}

print a + b
print dictionary["a"] + dictionary["b"]

制作字典对象需要使用散列函数来确定存储变量的位置。还需要查找时间来访问这些变量。因此,它不会花费更长的时间并使用更多的存储来存储字典与8个变量?另一个相关问题:变量本身的存储位置是否使用散列?

1 个答案:

答案 0 :(得分:0)

哈希字典的查找时间比直接变量查找长。

但是,它们仍然非常快,并且最受欢迎的是动态结构化对象。

在批处理脚本的情况下,这并不重要。与其他语言相比,两者都相当慢。