首页 > 解决方案 > 这是一个合理的基准吗

问题描述

我正在查看一些代码,并遇到了一个dict可以轻松完成的用法tuple——在我一般假设tuple很快的情况下,我使用了该timeit模块来找出答案。我不太了解 Python 的内部结构,所以想知道下面的内容是否是一个合理的基准。

import timeit


setup_tuples = '''
mapping = (
    ('a', ('b', 'c')),
    ('d', ('e', 'f')),
    ('g', ('h', 'i')),
)
'''

script_tuples = '''
for key, (db_access_fn_name, post_db_fn) in mapping:
    pass
'''

setup_dict = '''
mapping = {
    'a': ('b', 'c'),
    'd': ('e', 'f'),
    'g': ('h', 'i'),
}
'''

script_dict = '''
for key, (db_access_fn_name, post_db_fn) in mapping.items():
    pass
'''

print('tuples')
print(timeit.timeit(script_tuples, setup_tuples))

print('a dict')
print(timeit.timeit(script_dict, setup_dict))

标签: python

解决方案


推荐阅读