字典操作

一、字典是无序的,字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,且key必须是唯一的,格式如下所示

  字典:

    dict = {'a':1,'b':'123'}

  字典嵌套字典:

    dict = {'a':{'abc':123},'b':123}

  字典嵌套列表:

    dict = {'a':[1,2,3,4],'b':123}

二、遍历字典

1、for key,value in dict.items():

  print(key,value)

例子:

  dict = {'a':1,'b':'123'} 

  for key,value in dict.items():
    print(key,value)

  结果:

    a 1
    b 123

2、for key in dict:                         #效率高,推荐使用    

    print(key,dict[key])

例子:dict = {'a':1,'b':'123'} 

  for key in dict:
    print(key,dict[key])

  结果:

    a 1
    b 123

三、取元素

  1、根据key值取出value值,如果key值不存在,会报错

    用法:dict[key] = value

    如:dict = {'a':1,'b':'123'}

    print(dict['a']) -> 1

  2、get:如果key值不存在,不会报错

    用法:get(key)

    如:dict = {'a':1,'b':'123'}

    print(dict.get('b')) -> 123

2、删除

  dict = {'a':1,'b':'123'}

  1、clear

  用法:D.clear() -> None. Remove all items from D.

  如:

    dict.clear()

    print(dict) -> {}

  2、del

    如:del dict['a']

      print(dict) ->{'b':'123'}

  3、pop

    如:dict.pop('a')

    print(dict) ->{'b':'123'}

  4、popitem:D.popitem() -> (k, v),随机删除,返回key和value

    

3、添加

  根据key值添加,如果key存在,修改value值,如果key不存在,新建一个key:value的对应关系

  如dict = {'a':1,'b':'123'}
  dict['a'] = '测试'
  dict['c'] = '测试1'

  print(dict) ->{'c': '测试1', 'a': '测试', 'b': '123'}

4、其它

1、values

用法:D.values() -> an object providing a view on D's values

如:

dict = {'a':1,'b':'123'}
print(dict.values())  ->dict_values([1, '123'])

同理还有D.keys()

2、setdefault

用法:D.setdefault(key,value),如果key值存在,返回value的值,key值不存在,则创建D[key] = value,并返回value的值

如key存在:

  dict = {'a':1,'b':'123'}
  print(dict.setdefault('a','测试'))   ->1
  print(dict)                               ->{'a': 1, 'b': '123'}

 key不存在:

  dict = {'a':1,'b':'123'}
  print(dict.setdefault('c','测试')) ->测试
  print(dict)                              ->{'a': 1, 'c': '测试', 'b': '123'}

根据(key值存在,不修改value的值)这个特性,也可以用来初始化字典:

代码示例:

d = {}
d.setdefault('a',[]).append(1)
d.setdefault('b',[]).append(2)
d.setdefault('a').append(3) #当key存在,添加元素时可以不用加[]
print(d) ->{'b': [2], 'a': [1, 3]}

 3、update:更新字典,

   用法:D.update(E) -> None.更新D字典,如果E中的key在D中存在,则更新value, D[k] = E[k]

    E中的key在D中不存在,则新建,for k in E: D[k] = E[k]

   如:

    dict = {'a':1,'b':'123'}

    dict1 = {'a':'测试','c':'abc'}
    dict.update(dict1)
    print(dict)                 ->{'c': 'abc', 'a': '测试', 'b': '123'}

 4、fromkeys:初始化一个新列表

    c = dict.fromkeys([6,7,8],['a','b'])

    print(c) ->{8: ['a', 'b'], 6: ['a', 'b'], 7: ['a', 'b']}

 一些dict的高级用法,详见分类python高级特性字典的高级特性

原文地址:https://www.cnblogs.com/zj-luxj/p/6822953.html