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

    python中的唯一映射类型

    是另一种可变容器模型,且可存储任意类型对象

    字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号 { } 中 ,格式如下所示:

    d = {key1 : value1, key2 : value2 }

    键必须是唯一的,但值则不必     【即,可一对多】

    创建字典

    值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

    举例:

    dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

    也可以:

    dict1 = { 'abc': 456 };
    dict2 = { 'abc': 123, 98.6: 37 };
    空字典:
       dict3  =  {}
     
    用工厂函数创建字典

    输出:

     
     
    用关键字参数创建字典
      #顺序会变化,aa bb不需要加引号,那样无法当作表达式

    输出:

    fromkeys() 函数创建一个新字典

     语法
    dict.fromkeys(seq[, value])

    参数
    • seq -- 字典键值列表。
    • value -- 可选参数, 设置键序列(seq)对应的值,默认为 None。

    输出:

     
    访问

    输出:9102

    修改字典

    输出:

    删除字典元素

    输出:

    字典键的特性

     

    字典内置函数&方法

     函数
     
     方法

     另外:
    #字典支持无限极嵌套的
    如:
    #调换 key和 value,注意原始 value 的类型,必须是不可变类型

    #  .keys() 返回键的引用     .values() 返回值      .items() 返回整个项

     

    输出:

    返回的是 dict_xxx 对象,若需要转换为列表,请使用:

    代码:

    输出:

    ['name', 'age']
    ['jike', 18]
    [('name', 'jike'), ('age', 18)]

    # get()查找

     

    输出:

    None
    no find
    18

    解释:

    查找的是,不存在时返回None对象,没用print不会打印出来,不显示

    也可以添加提示,返回None时输出该提示

     # 另外

    清空字典

    xx.clear() 或 xx = {}
    但用后者时, a = b = {'x':1,'y':2}
    令a = {}
    但b != {}


    copy()浅拷贝
    赋值的话,只是多了个名字,浅拷贝后地址是不同的


    xx.pop(2)
    弹出键’2‘对应的值,该项也会被切去


    xx.popitem()
    随机弹一个项,该项会被切去


    setdefault() 找值,没有会添加  (x,'ddd')

    输出:


    xx = {'..':'..'}
    yy.update(xx) 利用一个字典关系xx去更新另一个字典yy

     

    输出:

    {'name': 'jike', 'age': 18}
    {'name': 'jike', 'age': 18}

     
  • 相关阅读:
    博弈论--sg函数
    博弈论--nim博弈
    dp--bitset优化
    树--欧拉序
    树--dfs序
    树--dsu on tree
    树--树的重心
    单调队列
    单调栈
    dp--背包
  • 原文地址:https://www.cnblogs.com/expedition/p/10686463.html
Copyright © 2011-2022 走看看