Python Py3生成字典列表的速度较慢
有没有办法用Py3加速列表理解(词典列表)?通常Py3在正常计算/逻辑方面比cpython快得多。它生成普通列表(create_data1)的速度稍快,但生成字典列表(create_data2)的速度似乎是普通python3的3倍Python Py3生成字典列表的速度较慢,python,pypy,Python,Pypy,有没有办法用Py3加速列表理解(词典列表)?通常Py3在正常计算/逻辑方面比cpython快得多。它生成普通列表(create_data1)的速度稍快,但生成字典列表(create_data2)的速度似乎是普通python3的3倍 import pandas as pd import datetime NUMS = 1000000 def create_data1(): start = datetime.datetime.now() data = [x for x in ra
import pandas as pd
import datetime
NUMS = 1000000
def create_data1():
start = datetime.datetime.now()
data = [x for x in range(NUMS)]
print("create_data1: {}".format(datetime.datetime.now() - start))
return data
def create_data2():
start = datetime.datetime.now()
data = [{'a': x, 'b': x, 'c': x} for x in range(NUMS)]
print("create_data2: {}".format(datetime.datetime.now() - start))
return data
_ = create_data1()
_ = create_data2()
python3.8.2的结果:
create_data1: 0:00:00.037305
create_data2: 0:00:00.228406
PY3 7.3.2(python 3.6.9)的结果:
首先,你应该认真考虑一下时机。
timeit
模块有一些函数用于此。您可能需要单独设置timedatetime.datetime.now()
create_data1: 0:00:00.030844
create_data2: 0:00:00.620640