Python中list累加問題?

時間 2021-05-29 23:58:05

1樓:

不是a = [...]

num_unique = len(set(a))就好了?

如果要計數,用

import collections

counter = collections.Counter(a)

2樓:鬍子

我用試了一下原生的python 十萬個list計數也沒那麼慢啊。。。

MAC下跑100個loop大約1.13s

如果用100萬資料跑1個loop大約是1s另外,看目前排第一的答案,考慮到型別轉換的損失,所以不那麼快了

import

collections

defcount

(iterable

):result

=collections

.defaultdict

(lambda:0

)for

number

initerable

:result

[number]+=

1return

result

,len

(result

.values

())import

timeit

import

randomli=

[random

.randint(0

,100

)foriin

xrange

(100000

)]if

__name__

=='__main__'

:print

timeit

.timeit

(stmt

="count(li)"

,setup

="from __main__ import count,li"

,number

=100

) if kwdsself.update(kwds)每次迭代中不斷的使用self_get,讀取預設值,會有效能的損失。

在python中,怎樣計算list的累積和?不能用loop或者library的function。

小小 def sum list list if len list 0 return 0 else return list 0 sum list list 1 greedisgood import numpy as np def cumsum list return np.array list cum...

python中,求乙個超大list的笛卡爾積,記憶體會很快溢位。有沒有辦法將生成的結果寫入乙個文字檔案?

黃哥 def cartesian jit arrays34 Generate a cartesian product of input arrays.Parametersarrays list or tuple of arrays 1 D arrays to form the cartesian p...

python的set裡面可以存放list嗎?

長風風 python的set中元素必須是unhashable 不可修改的 因此,可以修改的list就不能作為元素放入set中。元組,字串,整數,浮點都不可變,可以放入set中。而list,字典等放入則會報錯。放入不可變的元素 此外,python支援將list轉化為set,但會過濾掉重複出現的元素。 ...