李成石

导航

 

1.列表分裂成等长子列表

实现一:将子列表中数据打印

import time
@profile
def test():
    start = time.time()
    l = range(1010)
    mylist=[]
    for i in l:
        mylist.append(i)
        if len(mylist)>=10:
            print mylist
            mylist=[]
    print mylist
    print(time.time()-start)

test()

实现二:先计算出分割自列表的首索引,然后对列表进行分割

import time

@profile
def test():
    start = time.time()
    l = range(1010)
    m = [l[i:i+10] for i in range(0,len(l),10)]
    for c in m:
        print c
    print(time.time()-start)

test()

测试:

实现一: 耗时0.09秒

实现二:耗时0.02秒,使用第二种是第一种的20%,而且随着数据量增加,所需时间会更少

posted on 2018-11-17 01:06  李成石  阅读(155)  评论(0编辑  收藏  举报