Python学习笔记——字典

字典(dict):以键值对方式存在的无序数据的组合就是字典,为什么这么说呢,大家都知道我们所学到的序列如列表,集合等都是只能存放单个数据,如果想存放有关联性的数据是比较麻烦的,比如说我们想让一个人的姓名与他的性别对应起来存储,这时候用列表等就比较麻烦,这时我们就引出了字典这个概念,

定义:以键值对方式存在的无序数据的组合就是字典,

特点:字典存储数据时是以键值对的方式进行存储,所谓的键值对(Key&values)就是说一个键对应一个值,那么相关联的数据也就可以存储啦

格式:   dicts = { ‘a’ : ‘A’ }    #注意此时数据是以冒号连接的,标识符号为大括号 {} 。

字典的简单创建

  1.创建一个空字典  

    dicts = {}    或者   vardict = dict()

  2.创建有多个数据的字典

    2.1  dicts =  { 'a':'A','b':'B','c':'C' }

    2.2  dicts = dict ( { 'a':'A','b':'B','c':'C' } )

    2.3  dicts = dict(a = 'A',b = 'B',c = 'C')

    2.4  lists = [

         ['a','A'],

         ['b','B']

        ]

      res = dict(lists)    ——> print(res)      #注意,列表转字典时只能这种结构转换

    2.5  keys = ['a','b','c']

      values = ['A','B','C']

      res = dict(zip(keys,values))

      print(res)   #这种格式也可以得到字典 

字典的基本操作:

  创建一个使用字典:   vardict = { 'a':'A','b':'B','c':'C','d':'D','e':'E','f':'F' }

  1.访问字典中的值

    print ( vardict [ 'b'] )          #访问时书写字典的key,可以得到字典的value

  2.修改字典

    vardict['e'] = EE    #此时操作就会将原有的e对应的E改成EE

    vardict['g'] = G  #在字典中增加一个键值对 g->G

  3.删除字典

    del  vardict ['c']    #次操作删除了原有字典c所对应的键值对

  4.成员检测

    print( 'c' in vardict)     #检测成员c是否在字典vardict中,这样只能检测key

字典的遍历操作

  方法一:#先遍历键,在取值

    for  i  in vardict:

      print( i, vardict [ i ] )

  方法二:同时遍历键和值

    for x,y  in vardict.items():

      print(x,y)

字典推导式

  创建所用字典

    vardict = { 'a':'A','b':'B','c':'C'' }

    vardict2 = { 'name':'老王','age':'23','sex':'man'}

  1.普通推导式

    print( { '*' + k + '*' : '*' + k + '*'  for k,v in vardict.items() })

  2.带有判断条件的表达式

    print ( k:v  for k,v in vardict2.items()  if len(2) == 2 })

  3.多循环的字典表达式

    print( {a+x : b+y for a,b in vardict.items()  for x,y in vardict2.items()})

字典的相关函数   

   创建所用字典

      vardict = { 'a':'A','b':'B','c':'C'' }

  1.clear() 清空字典

    vardict.clear()      #此操作会清空字典的所有内容,请注意

  2. copy() 复制字典

    new_vardict = vardict.copy()

  3. fromkeys() 使用序列(当做字典的key)和指定的值做一个字典

    lists =  [1,2,3,4,5,6]

    new_vardict = dict.fromkeys(lists,'Python')     或者    new_vardict = ‘ ’.fromkeys(lists,'Python')

  4.get() 获取字典中指定键的值

    vardict.get ('a' ,'返回值')      #等价于  var['a']         #注意get有返回值,查询未果为后面的返回值

  5.setdefault() 向字典中添加一个元素(不存在的键添加,存在的键不动)

    vardict.setdefult('f','F')

  6.update()修改字典中的元素

    vardict.update(a = 'A')    或者 var.update({'a':'A'}) 

  7.pop()删除字典中指定的元素

    vardict.pop('b')

  8.popitem()随机删除字典中的一个元素

    vardict.popitem()

  9.keys()获取字典中的所有键组成的容器

    print(var.keys())

  10.values()获取字典中的所有键组成的容器

    print(var.values())

  11.items()获取字典中的所有键和值组成的容器

    print(vardict.items())

#注:若有错误或疑问可邮件:yuxiang000@foxmail.com

原文地址:https://www.cnblogs.com/yuxiang-qiwa/p/7819596.html