• 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

  • 相关阅读:
    Jetson AGX Xavier配置使用OpenCV(报错:No package 'opencv' found)
    centos7 lnmp
    php用户签到,领取红包
    php红包功能
    Mysql 主从复制
    mysql 小技巧
    区块链学习笔记一
    PHP 常用自定义函数
    centos7.4 搭建lnmp
    什么是跨域?怎么解决跨域问题?
  • 原文地址:https://www.cnblogs.com/yuxiang-qiwa/p/7819596.html
Copyright © 2020-2023  润新知