2. enumerate 用法
i = 0
for el in ["a","b","c"]:
print(i,el)
i += 1
上面這個遠不如下面的方法:
for i,el in enumerate(["a","b","c"]):
print(i,el)
3. 合併兩個列表,最終生成乙個字典:
4. 序列解包
a,b,*rest = 1,2,3,4,5
print(rest) #[3,4,5]
5. 字典複製和遍歷的時間複雜度,看到下面這句話: 如果某個字典,歷史元素非常多,但中間操作過程中刪除了很多,只剩少數幾個元素, 這個時候複製和遍歷的時間複雜度都非常高, 有什麼好辦法嗎? ---建立乙個新的字典。
在複製和遍歷字典的操作中,最壞情況複雜度中的n是字典曾經達到的最大元素數目,而不是當前元素數目。換句話說,如果乙個字典曾經元素個數很多,後來又大大減少了,那麼遍歷這個字典可能要花費相當長的時間。因此在某些情況下,如果需要頻繁遍歷某個字典,那麼最好建立乙個新的字典物件,而不是僅在舊字典中刪除元素。
dic = # 假如本字典歷史值曾經很多
dic_keys = dic.keys()
dic_values = dic_values()
'''#經歷了刪減
''''''
lis =
for item in zip(list(dic_keys),list(dic_values)):
new_dic = dict((x,y) for x,y in lis)
# 生成新的字典
應該能減小最終要複製或者遍歷時的時間複雜度,暫時想到了這個。 python高階程式設計學習筆記 語法實踐
首先我們要了解的我們常用的python是由c語言實現的即cpython,python 3.6。python提供了許多內建的資料型別,如果選擇明智的話,可以高效解決許多問題。你可能已經學過下面這些集合型別,因為在開發過程中很常用 列表 list 元組 tuple 字典 dictionary 集合 se...
Python學習筆記 高階
定義乙個類 注意的是 在類中的每個函式中最少要有乙個self引數 其實這裡的self this class test name 張三丰 age 200 defsay self print hi i am san feng 例項化乙個物件 t1 test 通過物件呼叫自身的方法 t1.say pyth...
Python學習筆記 函式式程式設計 高階函式
根據廖雪峰python教程整理 高階函式英文叫higher order function 什麼是高階函式?我們以實際 為例子,一步一步深入概念。一 變數可以指向函式 以python 內建的求絕對值的函式 abs 為例,呼叫該函式用以下 abs 10 10 但是,如果只寫abs 呢?abs 可見,ab...