zoukankan      html  css  js  c++  java
  • day3_字典

    字典:

    1. 字典用 {} 表示
    2. 数据类型:  dict
    3. 字典的存储方式:  key=value     --  键对应值
    • 只有不可变的数据类型才能作为 key   -- []不能作为key
    • 字典的 value 可以是任意数据类型

        4.字典是无序的数据集合,不能根据索引来取值

        5.字典用 key 来取 value

    • dic = {"1":110,"2":666}
      n = dic["1"]
      print(n)

        6.字典可以被for循环,默认循环字典的 key

    字典的方法

    • dic = {"1":"周杰伦","2":"周星驰","3":"大坏男孩"}
      # 取字典的key
      for i in dic.keys():
      print(i)
      # 取字典的值
      for i in dic.values():
      print(i)
      # 取字典的键值,元祖(key,value)
      for i in dic.items():
      print(i)
    • # update(key=value)
      # key不能是数字,只能是字母、下划线和中文
      # 如果key存在,则修改value;key不存在,则新增
      dic.update(idol = "星爷")
      print(dic)
      dic.update(idol = "前女友")
      print(dic)
      # update({key:value})
      # 循环传入的字典,把key和value添加或者修改,组成新的键值对
      dic.update({'男神':"胡歌","女神":"母上大人"})
      print(dic)
      dic.update({"1":"Jay"})
      print(dic)
    • #setdefault(key,value)
      # 如果key存在,则不做任何操作;key不存在,则把传入的key和value组成新的键值对
      dic.setdefault("4","My ideal")
      print(dic)
      dic.setdefault("1","Joy")
      print(dic)
    • # 根据key删除value,key不存在,则报错
      dic.pop("3")
      print(dic)
      dic.pop("4")
    • # clear()  清空字典
      dic = {"1":"周杰伦","2":"周星驰","3":"李叶彬"}
      dic.clear()
      print(dic)
    • # 删除字典:del
      del dic
      print(dic)
    • # 浅拷贝:copy()
      n = dic.copy()
      print(n)
    • # dic.get(key, message)
      # 如果key存在,则返回value;如果key不存在,则默认返回None:message不为空,返回自己定义的内容
      n = dic.get("3")
      print(n)
      m = dic.get("4")
      print(m)
      p = dic.get("4","666")
      print(p)
    • # fromkeys(iterable,value)  iterable(能被迭代,能被for循环的数据。例如:字符串、列表、元祖)
      # 元素和value一一对应,组成键值对,返回一个新的字典
      d = dic.fromkeys([1,2,3],"My idol")
      print(d)
      print(type(d))

    随堂练习

    • dic = {
      "k": [
      2,
      3,
      "hello",
      {
      "hello": {
      "a": "b"
      },
      False: (
      2, 3, 4, {
      "kk2": {"abc": [4, 5, 6, {"kk3": 888}]}
      }
      )
      }
      ]
      }

      # 通过for循环取出dic字典所有数字的和
      n = 0
      for i in dic.values():
      print(i)
      for i1 in i:
      if type(i1) == int:
      n = n + i1
      print(n)
      elif type(i1) == dict:
      print(i1)
      for i2 in i1.values():
      if type(i2) == tuple:
      print(i2)
      for i3 in i2:
      if type(i3) == int:
      n = n + i3
      print(i3)
      print(n)
      else:
      print(i3)
      for i4 in i3.values():
      print(i4)
      for i5 in i4.values():
      print(i5)
      for i6 in i5:
      if type(i6) == int:
      n = n + i6
      else:
      print(i6)
      for i7 in i6.values():
      n = n + i7
      print(i7)
      print(n)
      print(n)

      # 打印出dic字典的值888
      a = dic.get("k")[-1].get(False)[-1].get("kk2").get("abc")[-1].get("kk3")
      print(a)
    一行代码一行诗
  • 相关阅读:
    分表分库-------shading jdbc使用
    字符串之特殊符号处理
    【汇编程序】编程将100到200中的奇数求和,结果送到SUM字单元
    【汇编程序】从键盘输入一个大写字母,将其转换成小写字母
    【汇编程序】统计非数字的个数
    【读书笔记】看过的书籍列表整理
    【微机原理】数字电路器件—门 与门 或门 非门电路及实例
    【c语言】递归题
    【汇编程序】BUF为首址的100个字节单元用原码表示的有符号数依次编程用补码表示的有符号数
    【汇编程序】编写一个完整的程序 将这3个数的最大者存放到MAX单元
  • 原文地址:https://www.cnblogs.com/huainanhai/p/11130544.html
Copyright © 2011-2022 走看看