GuoQiangHuang

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

  字典dict

key-value键值对的数据集合

*可变的,无序的,Key不重复的


 

字典dict定义 初始化

  d = dict() 或者 d = {}

  dict(**kwargs) 使用 name=value对初始化一个字典

  dict(mapping,**kwargs) 使用一个字典构建另一个字典

类方法dict.fromkeys(iterable,value)

  d = dict.fromkeys(range(5))

d = dict.frokeymkeys(range(5),0)

 


 

字典元素访问

*d[key]

  返回key对应的值value, key不存在抛出keyError异常

*get(key[,default]), 返回key对应的值value

  key不存在返回缺省值,如果没有设置就返回None

*setdefault(key[,default]) 

  返回key对应的值value

  key不存在,添加kv对,value设置为default,并返回default,如果default没有设置,缺省值为none

 


 

字典增加和修改

d[key] = value

  将key对应值修改为value

  key不存在添加新的kv对

update([other]) >>>None

  使用另一个字典的kv对更新本字典

  key不存在,就添加

  key存在,覆盖已存在的key对应的值

  就地修改


 

字典删除

pop(key[,default])

  key存在,移除它,并返回它的value

  key不存在,返回给定的default

  default未设置,key不存在则抛出keyError异常

popitem()

  移除兵返回一个任意的键值对

  字典为empty,抛出keyError异常

clear()

  清空字典


 

 

字符串重复次数统计

import string
import random
num = string.ascii_lowercase
n = ((''.join(random.choice(num) for i in range(2))) for i in range(10))
newdict = {}
for i,x in enumerate(n):
    newdict[x] = newdict.get(x,0) + 1
sorted(newdict.items(),reverse=True)

数字重复统计

import random
num = {}
n = []
for i in range(1,10):
    n.append(random.randint(1,10))
for j in n:
    if not num.get(j):
        num[j] = 1
        continue
    num[j] += 1
print(n,num)
print(sorted(num.items()))

 

posted on 2019-01-14 13:13  Lengse-Spirit  阅读(151)  评论(0编辑  收藏  举报