Python内置数据结构字典dict

字典dict:

  1.                key-value键值对的数据集合
  2.                可变的,无序的,key不重复

字典dict定义,初始化:

  1.                 d = dict() 或者 d = {}
  2.                 dict(**kwargs) 使用name = value 对初始化一个字典
  3.                 dict(iterable,**kwarg) 使用可迭代对象和name = value 对构造字典,不过可迭代对象的元素必须是一个二元结构
  4.                 dict(mapping,**kwarg) 使用一个字典构建另一个字典
  5.                 常用定义方法:d = {‘a’:10,'b':20,'c':None,'d':[1,2,3]}
  6.                 类方法dict.fromkeys(iterable,value)
  •                            d = dict.fromkeys(range(5))
  •                            d = dict.fromkeys(range(5),0)

字典元素访问:

                d[key]:

                            返回key对应的值value

                            key不存在抛出KeyError异常

                get(key[,default]) 

                            返回key对应的值value

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

                setdefaule(ket[,default])

                           返回key对应的值value

                           key不存在,添加kv对,value设置为default,并返回default,乳沟default没有设置,缺省为None

字典增加和修改:

               d[key] = value

                          将key对应的值修改为value

                          key不存在添加新的kv对

  •                update([other]) - > None
  •                          使用另一个字典的kv对更新本字典    
  •                          key不存在,就添加
  •                          key存在,覆盖已存在的key对应的值
  •                          就地修改
  •                          d.update(red = 1)
  •                          d.update((('red',2),))
  •                          d.update({'red':3}) 

                

字典删除:

  •                 pop(key[,default]):
  •                          key存在,移除它,并返回它的值
  •                          key不存在,就返回给定的default
  •                          defaule未设置,key不存在则抛出KeyError异常
  •                popitem():
  •                          移除并返回一个任意的键值对
  •                          字典empty,抛出KeyError异常
  •               clear():清空字典

字典遍历:

                for ... in dict                    for k in d.keys():             for v in d.values():             for item in d.ditems():              

                      遍历key                       print(d.get(k))                               print(v)                             print(itme)

                           for k in d:

                              print(k)

                 python3中,keys,values,items方法返回一个类似一个生成器的可迭代对象,不会把函数的返回结果复制到内存中

                   

字典遍历和删除:

                           正确做法:   d = dict(a=1,b=2,c='abc')

                                                keys = []

                                                for k,v in d.items():

                                                        if isinstance(v,str):

                                                for k in keys:

                                                            d.pop(k)

                                                           print(d)

字典的key:

  1.                   key的要求和set的元素要求一致:
  2.                         set的元素可以就是看做key,set可以看做dict的简化版 
  3.                         hashable 可哈希才可以作为key,可以使用hash()测试

                         

猜你喜欢

转载自blog.csdn.net/Futures_/article/details/81709790