二维嵌套字典比python中带有if语句的几个扁平字典快吗



我正试图找到一个更好的计划来将数据放入字典中。我将把字典中的数据存储在一个python文件中(称之为"DB.py"(;DB.py";在另一个文件中计算这些数据。(因此,围绕字典的关键字和值将有很多工作要做(。因为有几个字典(大约5个(,我不知道嵌套到2d字典中或将其扁平化为1d字典并使用if语句来选择在计算程序中使用哪一个更快
选择一:two_dimensional_dict = {1:{key:value, ...},2:{key:value}, ...}
选择二:

one_dimensional_dict1 = {key:value, ...}
one_dimensional_dict2 = {key:value, ...}
...

在计算程序中,我会有一个变量(称之为"check"(来引导程序找到他们应该找到的字典。

if check == 1:
# Do work with one-dimensional_dict1
elif check == 2:
# Do work with one-dimensional_dict2
...

所以,我只是想知道哪一个更快?任何建议和想法都会非常有帮助!

您可以使用timeit 检查代码片段的时间

db.py

two_dimensional_dict = {1:{"key1": "value"},2:{"key2": "value"}}
one_dimensional_dict1 = {"key1": "value"}
one_dimensional_dict2 = {"key1": "value"}
>>> import timeit
>>> import db
>>> timeit.Timer('lambda :print(db.two_dimensional_dict[1]["key1"])').timeit()
0.06990942300035385
>>> timeit.Timer('lambda :print(db.one_dimensional_dict1["key1"])').timeit()
0.07525096900099015

对我来说,二维dict更快,但对你来说可能不同

最新更新