python append方法は大量のデータがlistに加入する時の効率対比である.

886 ワード

def app1(count):
    a=[]
    for i in range(count):
    for j in range(10000):
    a.append((i,j))
    return a
def app2(count):
    a=[]
    fun_app = a.append
    for i in range(count):
    for j in range(10000):
    fun_app((i,j))
    return a
def run(count):
    time1 = time.time()
    app1(count)
    time2 = time.time()
    print "time app1:",time2-time1
    time3 = time.time()
    app2(count)
    time4 = time.time()
    print "time app2:",time4-time3

>>> run(10)
time app1: 0.0699999332428
time app2: 0.0269999504089
>>> run(100)
time app1: 0.394000053406
time app2: 0.313999891281
>>> run(1000)
time app1: 4.13199996948
time app2: 3.27199983597
説明:
関数の中でlistの方法に対して臨時の変数を与えて、実測の効率はある程度高まって、原因は高い人が言いますか