zoukankan      html  css  js  c++  java
  • 数据类型之字典

    字典:可以存放多个有明确意义的键值对

    格式:

    •   
      # {key:value}
      #key 是不可变类型,且key是不能重复的
      #value 是可变类型,可以是任意数据类型

    创建字典

    •   
      l = dict(x=1,y=2,z=3)
      print(l)
      #运行结果
      {'x': 1, 'y': 2, 'z': 3}
      
      info = [["name","nala"],("age",18)]
      d = {}
      for k,v in info:
          print({k,v})
      #运行结果
      {'name', 'nala'}
      {'age', 18}
      
      res = dict(info)
      print(res)
      #运行结果
      {'name': 'nala', 'age': 18}
      
      
      key = ["name","nala"]
      d = dict().fromkeys(key,None)
      print(d)
      #运行结果
      {'name': None, 'nala': None}

    key取值:可存可取

    • 当key存在时,再赋值则是修改
    • 当key存在时,则创建新的值  

    长度len:统计个可以是统计key,value,items

    in 与 not in:根据key判断这个值是否存在字典中

    删除:

    • del:数据删除后没有返回值
    • pop:根据key删除,则返回值为value
    • popitems:随机删除返回值是items(items是元组表示的,由key和value组成)
    • #del
      info = {'name': 'nala', 'age': 18}
      del info["name"]
      print(info)
      #运行结果
      {'age': 18}
      
      #pop
      info = {'name': 'nala', 'age': 18}
      info.pop("name")
      print(info)
      #运行结果
      {'age': 18}
      
      #popitme
      info = {'name': 'nala', 'age': 18}
      info.popitem()
      print(info)
      #运行结果
      {'name': 'nala'}

    键,值,键值对:

    • key:键
    • value:值
    • items:键值对
    • l = {'name': 'nala',"age":600,"sex":"male"}
      for key in l:
          print(key)
      #运行结果
      name
      age
      sex
      
      for value in l.values():
          print(value)
      #运行结果
      nala
      600
      male
      
      for items in l.items():
          print(items)
      #运行结果
      ('name', 'nala')
      ('age', 600)
      ('sex', 'male')
       

    内置方法:

    clear:清除

    update:更新

    •   
      l = {'name': 'nala',"age":600,"sex":"male"}
      l.update({'name': 'lisa',"age":18,"sex":"female"})
      print(l)
      
      #运行结果
      {'name': 'lisa', 'age': 18, 'sex': 'female'}

    get:指定的键不存在返回None

    •   
      l = {'name': 'nala',"age":600,"sex":"male"}
      print(l.get("name1")) #没有找到name1
      print(l.get("name"))
      
      #运行结果
      None
      nala

    setdefault:

    • 如果key存在于字典中,则不添加并且返回key的值
    • 如果key不存在于字典中,则会添加key并且返回key的值
    • l = {'name': 'nala',"age":600}
      print("age 键的值为 : %s" % l.setdefault('age', None))
      print("sex 键的值为 : %s" % l.setdefault('sex', None))
      
      # 运行结果
      age 键的值为 : 600
      sex 键的值为 : None

    总结:

    有序的类型为:列表,元组

    可存多个值的类型为:列表,元组,字典

    可变类型:列表,字典

    不可变类型:元组

  • 相关阅读:
    luogu CF804D Expected diameter of a tree |Tarjan+樹的直徑+前綴和+二分查找
    luogu CF25C Roads in Berland |最短路floyd
    自觉日志·1·再现曾经的自觉
    祝福您新年快乐!
    自觉体验十一 体验祝福,与弘誓大愿!
    自觉体验 十 体验失忆
    自觉体验 六 手语与结印
    自觉体验 一  闲来无事,闭目养神
    我将离开屏幕前的“      ”
    第五章  自觉与【转载】《大念处经》
  • 原文地址:https://www.cnblogs.com/zhenghuiwen/p/12464105.html
Copyright © 2011-2022 走看看