python字典详解(一)

字典是Python语言中的一种内置数据结构类型,它作为可变的哈希表实现并通过键值存取元素。字典类型不但在各种程序中广泛应用,它也是python语言的基石。跟它有关的内置函数都在__builtins__.__dict__模块中。
Python对它的实现做了高度优化,而散列表则是字典类型性能出众的重要原因。

本节内容大纲如下:

  • 字典的基本操作
  • 字典的常用方法

字典的基本操作

1. 创建字典

第一种方法,使用{ }来创建字典。

1 test_dict = {"name": "test", "num" : 80}

第二种方法,使用dict( )来创建字典。

1 test_dict = dict(name="test", num=80)

第三种方法,用字典推导式来创建字典。

1 {x: x**2 for x in (2, 4, 6)}

第四种方法,通过zip对象来创建字典。

1 test_dict = dict(zip(['one', 'two', 'three'], [1, 2, 3]))

2. 访问字典中的键值对。

可以通过字典中的键来访问其对应的值,同样也可以用这种方式添加新的键值对。

1 test_dict = {"name": "test", "num" : 80}
2 test_dict["name"] = 2
3 # 添加新值
4 test_dict["new"] = 123

3. 删除字典

有如下三种删除字典的方式,del可以直接将字典删除,clear()方法则为清空字典条目。

1 del test_dict['name']            # 删除键是'Name'的条目
2 test_dict.clear()                # 清空字典所有条目
3 del test_dict                    # 删除字典

字典的常用方法

1. len(d)   返回字典d中条目的数量。

2. iter(d)  返回一个dict_keyiterator迭代器对象。

3. k in d   如果k在d中则返回True

4. clear()  删除字典中的所有条目

5. copy()   返回一个字典的浅拷贝

6. get(key[,default])  返回键的值,如果没有这个键则返回default的值,如果没有设置default,则返回None,这个方法不会抛出KeyError

7. pop(key[,default])  返回key的值并将key从字典中删除,如果字典中没有key则返回默认值,如果没有默认值则抛出KeyError

8. items()    返回字典的条目的视图对象

9. keys()    返回字典中键的视图对象

10. values()   返回字典中值的视图对象

11. popitem()   返回一个键值对,并将其从字典中移除,如果字典为空则将抛出KeyError

12. update([other])     接收一个新的字典对象或一个可迭代的键值对来更新字典,可以指定关键字参数。此方法会更新已存在的键值对,并返回None

13. setdefault(key[,default])   如果key在字典中则返回其值,否则将键值对插入字典,default默认为None

14. classmethod fromkeys(iterable[, value]    从可迭代对象中创建一个新的字典,值默认为None