zoukankan      html  css  js  c++  java
  • python语言中的数据类型之字典

    数据类型

    字典类型dict
    • 用途:记录多个值,列表是索引对应值,而字典是key对应值,其中key对value有描述性

    • 定义方式:在{ }用逗号分隔开多个元素,每个元素都是key:value形式,其中key是不可变类型,通常是字符串类型,而value是任意类型。

    • 类型转换:

      d=dict(x=1,y=2,z=3)
      print(d)
      print(type(d))
      #第一种类型转换
      items=[('name','egon'),('age',18),('gender','male')]
      d={}
      for item in items:
          d[item[0]]=item[1]
      print(d)
      #列表转换成字典  第二种
      items=[('name','egon'),('age',18),('gender','male')]
      d=dict(items)
      print(d)
      #第三种方法
      ​
      ​
      # 了解
      keys=['name','age','gender','height','weight']
      # d={}
      # for key in keys:
      #     d[key]=None
      ​
      d={}.fromkeys(keys,None)
      print(d,type(d))

    常用操作+内置方法

    1.按key存取值:可存可取

    dic={'name':'egon','age':18}
    print(dic['name'])
    #这是按key 取 value值  如果key错误程序会报错
    dic['name']='EGON'
    print(dic)
    #按key存值  根据key存入'EGON' (value)
    dic['gender']='male'
    print(dic)
    #如果存入的key在字典中没有就会添加新的key:value
    ###在列表中如果索引没有添加的话会报错
    l=['a','b','c']
    l[0]='A'
    print(l)
    l[4]='AAA'
    print(l)

    2.长度  len

    dic={'name':'egon','age':18}
    print(dic)
    print(len(dic))

    3.成员运算   in 和  not  in

    字典的成员运算是以字典的key为准的,如果找不到key则会显示False

    dic={'name':'egon','age':18}
    print('name'in dic)    #  True
    print('egon'in dic)    #  False

    4.删除    del/pop/

    dic={'name':'egon','age':18}
    del dic['name']
    print(dic)
    #del  的运用
    ​
    dic={'name':'egon','age':18}
    res=dic.pop('name')
    print(dic)
    print(res)
    #pop  pop的返回值是与之对应的value值
    ​
    ic={'name':'egon','age':18}
    res=dic.popitem()
    print(res)
    print(type(res))
    print(dic)
    ('age', 18)
    <class 'tuple'>
    {'name': 'egon'}
    #popitem()  删除字典中的元组

    5.键keys( ),值values(),键值对items()

    在python2中对应的键keys(),values(),items()

    #在python2中keys(),values(),items()会将全部对应值输出
    >>> dic={'name':'egon','age':18}
    >>> dic.keys()
    ['age', 'name']
    >>> dic.values()
    [18, 'egon']
    >>> dic.items()
    [('age', 18), ('name', 'egon')]
    >>>#在python3中
    >>> dic={'name':'egon','age':18}
    >>> dic.keys()
    dict_keys(['name', 'age'])
    >>> dic.values()
    dict_values(['egon', 18])
    >>> dic.items()
    dict_items([('name', 'egon'), ('age', 18)])

    6.循环

    dic={'name':'egon','age':18}
    for k in dic:
        print(k)
    #在字典中不加任何操作循环是循环key
    dic={'name':'egon','age':18}
    for k in dic.keys():    #循环keys
        print(k)
    for v in dic.values():  #循环values
        print(v)
    for k,v in dic.items(): #k,v=('name', 'egon')
        print(k,v)          #循环key:value

    需要掌握的操作

    7.update   更新

    dic={'name':'egon','age':18}
    dic.update({'height':175,'weight':180})
    print(dic)
    {'name': 'egon', 'age': 18, 'height': 175, 'weight': 180}
    #语法    字典1.update(字典2)
    #会将两个字典中相同的key:value保留,不同的添加到字典1
    dic={'name':'egon','age':18}

    8.setdefault

    Python 字典 setdefault() 函数和get() 方法类似, 如果键不存在于字典中,将会添加键并将值设为默认值

    #当key存在时,不改原值,返回原值
    dic={'name':'egon','age':18}
    res=dic.setdefault('name','EGON')
    print(dic)
    print(res)
    {'name': 'egon', 'age': 18}
    egon
    ​
    #当key不存在时,增加新值
    dic={'name':'egon','age':18}
    res=dic.setdefault('gender','male')
    print(dic)
    print(res)
    {'name': 'egon', 'age': 18, 'gender': 'male'}
    male

    ###字典无序  可变

  • 相关阅读:
    阿里P8推荐的SpingBoot学习手册+Git开源项目实践分享,还不收藏
    阿里P8划重点:JVM+Spring+Mybatis+多线程高并发源码你必须会
    一线大厂工程师推荐:Mysql、Springboot、JVM、Spring等面试合集
    GitHub标星120K+的JDK并发编程指南,连续霸榜GitHub终于开源了
    腾讯被指劝退高龄员工,华为百度也在优化,互联网35岁+该怎么办
    天猫面试官硬核推荐:Dubbo+ES+JVM+多线程/高并发+消息队列
    多线程与高并发:金九银十跳槽季面试必须要掌握的硬核涨薪技能
    纯干货,源码6步曲,带你解析完整的ThreadPoolExecutor
    今日总结
    今日头条技术架构分析
  • 原文地址:https://www.cnblogs.com/5j421/p/10006702.html
Copyright © 2011-2022 走看看