dict與list的in 操作的速度

2022-02-02 08:42:39 字數 573 閱讀 6382

今天刷一道題,計算一串數字中其中兩個數字相加等於目標值的題目,且取其中最早的兩個數字(最後乙個數字的位置靠前)。

如[1,25,32,4,3,6,9,5]  targer:9  輸出 [3,6]   雖然[4,5]也滿足

我的想法是,每次第i個數字  查詢 target - nums[i] 是否在nums[i]之前出現。

開始用  if  target - nums[i]  in  nums[:i],但是切片相當於複製額外增加複雜度o(n),

但還是很慢,最後把newlsit = 改為  set,set類似字典,用了hash演算法實現 有address = f(key)  查詢複雜度為o(1)

**如下:

1

defsum_pairs(ints, s):

2 mymap =set()

3for value in

ints:

4if s - value in

mymap:

5return [s-value, value]

6mymap.add(value)

7return none

pandas 讀取dict和list操作

在用pandas讀取dict和list的時候,依據結構和需求不同,我們可能需要生成不同格式的dataframe,這裡我總結了下我最近遇到的一些讀取操作 這裡我們以乙個字典為資料,看下不同操作的結果有何不同 data 1 直接呼叫dataframe進行讀取的話,生成的dataframe結構如下 或者p...

dict字典 dict的操作

1.字典 dict 用 來表示 鍵值對資料 唯一性 鍵 都必須是可雜湊的 不可變的資料型別就可以當做字典中的鍵 值 沒有任何限制 1.1 字典的建立 1 dic 2 fromkeys fromkeys 函式用於建立乙個新字典,以序列 seq 中的每個元素做字典的鍵,value 為字典所有鍵對應的初始...

dict和list的效能對比

coding utf 8 import time import profile explain cookbook,5.12 檢查序列的成員 def addunique baselist otherlist basedict dict fromkeys baselist for other in ot...