zoukankan      html  css  js  c++  java
  • Python内置类型——dict

     Python中,

    字典是容器,所以可以使用len()方法统计字典中的键值对的个数;

    字典是可迭代的,迭代的依据是字典中的键。

    in, not in 等运算符判断指定的键是否在字典中;

    如果索引一个字典中不存在的键,将会抛出异常KeyError;

    del d[k]将会删除k对应的键值对,如果d中不存在k,则抛出异常KeyError;

    字典的返回迭代器的方法比返回列表的方法要节省内存,因为迭代器更省内存。

    non-mutating方法

    d.copy()
    

      返回一份d的浅拷贝。

    d.items()

       返回一个包含d中所有键值对的列表,每个键值对放在一个二元组中,元组的第一个元素是键,第二个元素是值。

    d.keys()
    

      返回一个包含d中所有键的列表。

    d.values()
    

      返回一个包含d中所有值的列表。

    d.iteritems()
    

      返回一个d的所有键值对上的迭代器。

    d.iterkeys()
    

      返回一个d的所有键上的迭代器。

    d.itervalues()

      返回一个d的所有值上的迭代器。

    d.get(k[, x])
    

      如果k是d中的键,则返回对应的值,否则返回x。

    mutating 方法

    d.clear()
    

      删除d中的所有键值对,使字典d为空。

    d.update(d1)
    

      对于d1中的每一个键k,赋值使得d[k] = d1[k]

    d.setdefault(k, [, v])
    

      如果k是d中的键,则返回d[k],否则将d[k]设置为v,并返回d[k]。

    d.pop(k [, v])
    

      如果k是d中的键,则返回d[k],并删除对应的键值对;

      如果k不是d中的键,如果指定了v,此时返回v;否则抛出异常。

    d.popitem()
    

       从d中随机删除一个任意的键值对。适合破坏性迭代,遍历完删除整个迭代器。

      *注意get(), pop(), setdefault()函数的区别,三者都能查看d中已有的键,get()只用于查看,没有副作用;pop()可能删除已有的键值对;setdefault()可能会添加新的键值对。

  • 相关阅读:
    P2009 跑步
    P3916 图的遍历
    P2865 [USACO06NOV]路障Roadblocks
    P2820 局域网
    P2176 [USACO14FEB]路障Roadblock
    讨伐!数论
    网络流入门——EK算法
    最被低估的特质
    我的天哪我有博客了!
    Area POJ
  • 原文地址:https://www.cnblogs.com/Security-Darren/p/4641003.html
Copyright © 2011-2022 走看看