zoukankan      html  css  js  c++  java
  • ~~字典的简单方法使用~~

    进击のpython

    ***** # 字典(python中唯一的映射类型)
    • 定义 {key1:value1,key2:value2}

      info{
        "name":"zhangsan",
        "age":"22",
        "sex":"man"
      }
      
    • 特性

      • 无序
      • 速度快
      • key不可变 value多元存放
    • 创建

      1. person={"name":"zhangsan","age":"22","sex":"man"}
      2. person=dict(name="zhangsan",age="22",sex=“man”)
      3. {}.fromkeys(keys) 批量生产字典

    • 增加

      d = {1: None, 2: None, 3: None, 4: None, 5: None}
      d["name"] = "zhangsan"
      print(d)
      

    这种方法虽然简单,但是当添加的key在原字典里也有的时候,就会覆盖。

    不被覆盖的是这种方法:

    d = {1: None, 2: None, 3: None, 4: None, 5: None}
    d.setdefault("name","zhangsan")
    print(d)
    d.setdefault("name","lisi")
    print(d)
    

    即使第二次命名字典中的key,value也还是开始的value,并没有改变,但是 也不会报错。

    • 删除

      d.pop("3") 删除“3”这个键

      d.popitem() 随便删除一个

      del d["4"] 同“pop”

      d.clear() 清空字典

      d = {1: None, 2: None, 3: None, 4: None, 5: None}
      print(d)
      
      d.pop(3)
      print(d)
      
      del d[4]
      print(d)
      
      d.popitem()
      print(d)
      
      d.clear()
      print(d)
      
      

    • 修改

      d["key"]="new_value" 如果有原始key,则 new_value 会覆盖原先的值

      d.update(d2) 将字典d2中的键值对添加到字典d中

      d = {1: None, 2: None, 3: None, 4: None, 5: None}
      d2 = {3: "苹果", 6: "香蕉"}
      print(d, d2)
      
      d[2] = "yaya"
      print(d)
      
      d.update(d2)
      print(d)
      

    d2中如果和d有相同的键,则会覆盖掉原有的值,没有则添加。

    • 查找

      d["key"] 返回字典里 key 所对应的 value ,没有则报错。

      d.get(key,default = None) 返回字典中key 所对应的 value ,不存在返回default的值

      "key" in dic 存在则返回True,没有则返回False

      d.keys() 返回一个包含字典里所有keys的列表

      d.values() 返回一个包含字典里所有values的列表

      d.items() 返回一个包含所有(键,值)元祖的列表

      d = {1: "pingguo", 2: "juzi", 3: "xiangjiao", 4: "li", 5: None}
      print(d)
      
      print(d[3])
      
      # print(d[6])
      
      print(d.get(3))
      
      print(d.get(6))
      
      print(d.get(6,"*"))
      
      print(d.keys())
      
      print(d.values())
      
      print(d.items())
      
      
    • 循环

      正常的 for i in 循环,循环的是字典的 key

      如果想循环value,就使用d[key]的方法

      以下是常见的四种方式:

      d = {1: "pingguo", 2: "juzi", 3: "xiangjiao", 4: "li", 5: None}
      print(d)
      
      print("______________________________________________________________")
      #打印key
      for i in d:
          print(i)
      
      print("______________________________________________________________")
      #打印value
      for i in d:
          print(d[i])
      
      print("______________________________________________________________")
      #直接打印,但是是元组,效率低
      for i in d.items():
          print(i)
      
      print("______________________________________________________________")
      #去除元组,效率低
      for k,v in d.items():
          print(k,v)
      

    • 长度

      len(d)

    *应该还有别的*
    *但是不咋常用*
  • 相关阅读:
    几个有用的jQuery方法
    Highcharts常用属性的说明
    存储过程中判断临时表是否已经存在方法
    解决Dialog中EditView无法触发软键盘问题
    mysql数据库备份与恢复
    Ubuntu 安装 sunjava6jdk 错误解决办法
    putty关闭后后让java程序在后台一直执行
    jni数据类型
    android 打开各种文件(setDataAndType)
    防止Linux出现大量FIN_WAIT1
  • 原文地址:https://www.cnblogs.com/jevious/p/11116832.html
Copyright © 2011-2022 走看看