python生成列表的時間複雜度

2022-06-22 07:27:17 字數 499 閱讀 9849

在刷題的時候,經常碰到需要生成非常大的鄰接矩陣,往往我們都是用 list 儲存,但是我在最近刷題的過程中就遇上了tle的情況,原因就是生成鄰接矩陣時間太花時間了。

先說結論:[ ]* n 比 [ for i in range(n) ]列表生成式的速度快,差不多快3倍多

盡量使用鄰接表代替鄰接矩陣。比如在leetcode 1786這道題中,使用了鄰接矩陣,直接超時;把鄰接矩陣去除之後,直接雙百。

import

time

t1 =time.clock()

z = [[0]*20000 for i in range(20000)]

print(time.clock()-t1)

#6.8233608

t2 =time.clock()

z = [[0]*20000]*20000

print(time.clock()-t2)

#1.9150372

python pandas生成時間列表

python生成乙個日期列表 首先匯入pandas import pandas as pd def get date list begin date,end date date list x.strftime y m d for x in list pd.date range start begin...

Python的列表生成式

列表生成式即list comprehensions,是python內建的非常簡單卻強大的可以用來建立list的生成式。舉個例子,要生成list 1,2,3,4,5,6,7,8,9,10 可以用range 1,11 range 1,11 1,2,3,4,5,6,7,8,9,10 但如果要生成 1x1,...

python 的列表生成式

x for x in range 1,10 既是在裡面新增for迴圈 文章參考廖雪峰老師的 list生成方式 1.list list range 1,10 2.for迴圈 l for x in range 1,10 3.列表生成式 x for x in range 1,10 列表生成式的雙層迴圈 雙...