字典

  • 函数dict

          

          len(d)返回字典d包含的项(键-值对)数

          d[k] 返回与键k相关联的值

          d[k]=v 将值v关联到键k

          del d[k] 删除键为k的项

          k in d 检查字典d是否包含键为k的项

 

  • 字典方法         

clear

方法clear删除所有的字典项

 

       copy

方法copy返回一个新字典,其包含的键-值对与原来的字典相同(这个方法执行的是浅复制,因为值本身是原件,而非副本)

 

当替换副本中的值时,原件不受影响。然而,如果修改副本中的值(就地修改而不是替换),原件也将发生变化,因为原件指向的也是被修改的值

 

  执行深复制,即同时复制值及其包含的所有值      

 

 

 fromkeys

 方法fromkeys创建一个新字典,其中包含指定的键,且每个键对应的值都是None,如果不想使用默认值None,可提供特定的值

 

 

 

 get     使用get来访问不存在的键时,没有引发异常,而是返回None.你可指定"默认"值

 

         

 

         字典方法示例

       

people = {
    'xiaoming':{
      'phone':'123456',
      'addr':'hahaha'
  },
    'huahua':{
      'phone':'120',
      'addr':'hehehe'
  }

}

labels = {
     'phone':'phnoe number',
     'addr':'address'
}

name = input('name: ')
request = input('Phone number (p) or address (a)? ')
key = request
if request == 'p':key='phone'
if request == 'a':key='addr'
person = people.get(name, {})
label = labels.get(key,key)
resutl = person.get(key, 'not available')
print("{}'s {} is {}.".format(name,label,resutl))

  

  • items

          方法items返回一个包含所有字典想的列表,其中每个元素都为(key,value)的形式。字典项在列表中的排列顺序不确定

          

          将字典项复制到列表中

          

 

          pop

          方法pop可用于获取与指定键相关联的值,并将该键-值对从字典中删除

          

 

          popitem

          方法Popitem类似于list.pop,但list.pop弹出列表中的最后一个元素,而popltem随机的弹出一个字典项,因为字典项的顺序是不确定的,没有“最后一个元素”的概念。如果你要以高效的方式逐个删除并处理所有字典项,这可能很有用,因为这样无需先获取键列表。

          

 

          setdefault

          方法setdefault有点像get,因为它也获取与指定相关联的值,但除此之外,setdefault还在字典不包含指定的键时,在字典中添加指定的键-值对

          

          指定的键不存在时,setdefault返回指定的值并相应的更新字典。如果指定的键存在,就返回其值,并保持字典不变。与get 一样,值是可选的;如果没有指定,默认为None

          

 

          update

          方法Update使用一个字典中的项来更新另一个字典        

 

          values

          方法values返回一个有字典中的值组成的字典视图。不同于方法keys,方法values返回的视图可能包含重复的值

          

 

  

 

 

 

 

 

 

          

 

 

 

           

    

 

posted on 2018-03-29 16:15  一年级的小明同学  阅读(179)  评论(0)    收藏  举报

导航