字典

字典
  在Python入门中介绍了字典基础。这一节介绍字典的进阶应用。
  每个字典实际上都是类dict的实例。通过type()可以验证这一点:
>>> type({'name': 'Jack', 'scope': 85}) # 输出显示{'name': 'Jack', 'scope': 85}是类dict的实例
  类dict拥有很多有用的方法,使用这些方法可以极大地提高编程的效率。
clear()
  删除字典中的所有元素。
copy()
    浅拷贝字典。

fromkeys(iterable, value=None)
    是类dict的类方法。从序列构建字典。将序列中的元素作为key,将value作为值。

get(key[,default_value])
    获取指定key对应的value,如果字典中不存在指定的key,则返回default_value。

items()
  返回类dict_items的一个实例。此实例中的元素为由字典中的key和value组成的元组。

keys()
  返回类dict_keys的一个实例。此实例中的元素为字典中的key。

pop(key)
  在字典中查找指定key的元素,删除此元素并返回其value值。

popitem()
  删除字典中的一个元素,并返回此元素。如果字典为空,则抛出异常KeyError。

setdefault(key, default=None)
  用来设置字典中指定key的默认value值。如果字典中已存在此key,则返回其对应的value;否则,将key=>default添加到字典中,并返回default值。

update(E)
  将E中的元素添加到字典中。

values()
  返回类dict_values的一个实例。此实例中的元素为字典中的value。

  下面是一个使用字典的例子:
# -*- coding: utf-8 -*-

d = {'name': 'Jack', 'scope': 85, 'age': 20}
d.clear()
print(d)

d = {'name': 'Jack', 'scope': 85, 'age': 20}
d_new = d.copy()
d_new['age'] = 21
print('d: ', d)
print('d_new: ', d_new)

d = dict.fromkeys(['a', 'b', 'c'])
print(d)

d = {'name': 'Jack', 'scope': 85, 'age': 20}
value = d.get('name')
print('value of name:', value)
value = d.get('height')
print('value of height:', value)

print(d.items())

print(d.keys())

m = d.pop('name')
print('m: ', m)
print('d: ', d)

m = d.popitem()
print('m: ', m)
print('d: ', d)


value = d.setdefault('age')
print('value: ', value)
value = d.setdefault('hegith', 175)
print('value: ', value)

d = {'name': 'Jack', 'scope': 85, 'age': 20}
d2 = {'grade': 3}
d.update(d2)
print('d: ', d)

print('d.values(): ', d.values())

  程序执行的输出为:

{}
d: {'name': 'Jack', 'scope': 85, 'age': 20}
d_new: {'name': 'Jack', 'scope': 85, 'age': 21}
{'a': None, 'b': None, 'c': None}
value of name: Jack
value of height: None
dict_items([('name', 'Jack'), ('scope', 85), ('age', 20)])
dict_keys(['name', 'scope', 'age'])
m: Jack
d: {'scope': 85, 'age': 20}
m: ('age', 20)
d: {'scope': 85}
value: None
value: 175
d: {'name': 'Jack', 'scope': 85, 'age': 20, 'grade': 3}
d.values(): dict_values(['Jack', 85, 20, 3])