python dict的一些簡單用法

我以爲我dict用的很熟了,但是真正再去用的時候發現還是底子太薄,太多地方容易出錯了;

  • dict的創建:
d = dict()
# or 更簡單
d = {}

這樣創建了一個新的dict,不包含任何key,value

  • dict的插入和賦值:
    如果我不知道一個dict對象裏是否有dict[key]的話,我要先判斷一下:
    has_key()返回boolean變量
if d.han_key('key'):
    #do something...

一個例子:
比如說我有一個list,裏面有重複的元素,我要統計所有元素出現的次數

list = [1,2,2,3,4,2,3,3]
d = dict()
for element in list:
    if d.has_key(element):
        d[element] += 1
    else:
        d[element] = 1
  • dict的遍歷:
    一種簡單的方法吧,Python2.7是這麼用,記住一種就好
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, list的每個元素爲一個tuple;然後對這個list進行操作。

我仔細想了一下,dict排序有意義嗎?我意思是我致力於去實現我把所有的元素排完序再放回去是有序的,這個本身是不現實的,因爲dict的創建和維護並不是按照連續的內存,而是哈希的。
所以我們只能得到一個有序的list,無法得到一個有序的dict
所以如果知道排序的思想,用items()抽出來,再對list排序就好了。

發佈了105 篇原創文章 · 獲贊 159 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章