python 字典

1.创建字典

http://skyfen.iteye.com/blog/567571  Python字典的应用详解

方法①:
>>> dict1 = {}
>>> dict2 = {'name': 'earth', 'port': 80}
>>> dict1, dict2
({}, {'port': 80, 'name': 'earth'})

方法②:从Python 2.2 版本起
>>> fdict = dict((['x', 1], ['y', 2]))
>>> fdict
{'y': 2, 'x': 1}

2. 字典排序

http://www.kunli.info/2009/05/07/sorting-dictionaries-by-value-in-python/   Python中最快的字典排序方法

after sort the return is a list of tuple

def sort2(d,r=True):#从大到小 sort by value
    return sorted(d.iteritems(), key=lambda x: x[1] , reverse=r)
def sort2(d,r=False):#从小到大 sort by key
    return sorted(d.iteritems(), key=lambda x: x[0] , reverse=r)

 http://1.guotie.sinaapp.com/?p=19  对python的字典(dict)按键/值(key, value)排序

sortDic=sort2(dic,True)

3. 字典遍历

http://5iqiong.blog.51cto.com/2999926/806230  遍历python字典几种方法

http://docs.quantifiedcode.com/python-anti-patterns/readability/not_using_items_to_iterate_over_a_dictionary.html

脚本:

  1. #!/usr/bin/python 
  2. dict={"a":"apple","b":"banana","o":"orange"
  3.  
  4. print "##########dict######################" 
  5. for i in dict: 
  6.         print "dict[%s]=" % i,dict[i] 
  7.  
  8. print "###########items#####################" 
  9. for k,v in  dict.items(): 
  10.         print "dict[%s]=" % k,v 
  11.  
  12. print "###########iteritems#################" 
  13. for k,v in dict.iteritems(): 
  14.         print "dict[%s]=" % k,v 
  15.  
  16. print "###########iterkeys,itervalues#######" 
  17. for k,v in zip(dict.iterkeys(),dict.itervalues()): 
  18.         print "dict[%s]=" % k,v 

执行结果:

  1. ##########dict###################### 
  2. dict[a]= apple 
  3. dict[b]= banana 
  4. dict[o]= orange 
  5. ###########items##################### 
  6. dict[a]= apple 
  7. dict[b]= banana 
  8. dict[o]= orange 
  9. ###########iteritems################# 
  10. dict[a]= apple 
  11. dict[b]= banana 
  12. dict[o]= orange 
  13. ###########iterkeys,itervalues####### 
  14. dict[a]= apple 
  15. dict[b]= banana 
  16. dict[o]= orange 

4. 查找元素has_key

dic={}
for i in words:
    if dic.has_key(i) is False:
        dic[i]=1
    else:
        dic[i]+=1

 5. 统计

while True >0:
        if dic.has_key(ky) is False:
            dic[ky]=1
        else:
            dic[ky]+=1
原文地址:https://www.cnblogs.com/phoenix13suns/p/2798521.html