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()可能会添加新的键值对。

posted @ 2015-08-03 14:54  王智愚  阅读(318)  评论(0编辑  收藏  举报