我以為我dict用的很熟了,但是真正再去用的時候發現還是底子太薄,太多地方容易出錯了;
d = dict()
# or 更簡單
d = {}
這樣建立了乙個新的dict,不包含任何key,value
if d.han_key('key'):
#do something...
乙個例子:
比如說我有乙個list,裡面有重複的元素,我要統計所有元素出現的次數
list = [1,2,2,3,4,2,3,3]
d = dict()
forelement
in list:
if d.has_key(element):
d[element] += 1
else:
d[element] = 1
for k,v in dict.iteritems():
print
'%s:%s' % (k, v)
其中iteritems()
返回了乙個dictionary-itemiterator object
相比items()
返回的就是乙個list, list的每個元素為乙個tuple, 如:
[('a', 1), ('b', 2)]
我仔細想了一下,dict排序有意義嗎?我意思是我致力於去實現我把所有的元素排完序再放回去是有序的,這個本身是不現實的,因為dict的建立和維護並不是按照連續的記憶體,而是雜湊的。
所以我們只能得到乙個有序的list,無法得到乙個有序的dict
所以如果知道排序的思想,用items()
抽出來,再對list排序就好了。
python dict中常用的一些函式
dic1 dic2 dic1.update dic2 update dict dic1呼叫update傳入dic2,如果dic2中的內容在dic1中不存在,那麼直接加入新的價值對到dic1中 如果dic2中的鍵在dic1中已經出現了,那麼就將dic2中鍵所對應的值去覆蓋dic1中的鍵的值 items...
一些簡單的演算法
氣泡排序,比如你有五個數 3 4 2 1 0 其原理就是用沒個數和 其他數進行比較 下面我們來書寫每一輪的數值 第一輪 3 4 2 得出佇列 2 4 3 1 0 2 1 0 得出佇列 1 4 3 2 0 得出佇列 0 4 3 2 1 第二輪 4 3 得出佇列 0 3 4 2 1 3 2 1 得出佇列...
一些簡單的想法
我的關於pat甲級考試的總結的訪問量是其他文章訪問量的總和還要多。一是我這裡確實沒什麼乾貨 二是我這裡的內容可搜尋性不強,本身標題無傳播性 三是感覺大家對pat考試蠻重視的。但是,至少現在以我的親身經歷來講,如果只是考個乙級的話,企業應該是不看重的。其實去年十二月份的考試考得一般,今年三月份的成績反...