字典是python
中唯一的映射关系,其实我感觉是有一点像STL中的map
,一个key值对应一个value值。
接下来我们看如何创建一个字典
- 方法1
>>> c={"1":"one","2":"two","3":"three"}
>>> print c
{'1': 'one', '3': 'three', '2': 'two'}
- 方法2
>>> e=dict(one=1,two=2,three=3)
>>> print e
{'three': 3, 'two': 2, 'one': 1}
- 方法3
>>> f=dict({"one":"1","two":"2","three":"3"})
>>> print f
{'one': '1', 'three': '3', 'two': '2'}
创建一个空字典
>>> f={}
>>> print f
{}
字典的项和创建的顺序是不一样的,序列讲究顺序,但是字典讲究映射,不讲顺序,另外需要注意的是,字典的键必须独一无二,而值可以取任意的数据类型。
字典里各种内置的方法
- fromkeys
这个方法用于创建并且返回一个字典,它有两个参数,第一个参数是字典的键,第二个参数是可选择的,是传入键对应的值,如果不提供,那么对应是None。
//注意这个时候是返回一个字典,此时的f字典并没有改变
>>> f.fromkeys((1,2,3),"haha")
{1: 'haha', 2: 'haha', 3: 'haha'}
>>> print f
{}
//返回的字典被c接受,此时的c被创建
>>> c=f.fromkeys((1,2,3),"haha")
>>> print c
{1: 'haha', 2: 'haha', 3: 'haha'}
- keys(),values(),items()
keys()返回字典中的键,注意是keys
而不是key
。
values返回字典中的值。
items()返回字典中的项
>>> c.keys()
[1, 2, 3]
>>> c.values()
['haha', 'haha', 'haha']
>>> c.items()
[(1, 'haha'), (2, 'haha'), (3, 'haha')]
- get()
通过键值来访问字典项,找不到的话返回None,找到返回对应的项。
函数 | 作用 |
---|---|
copy() | 复制字典 |
pop() | 给定键弹出对应的值,这一项也就没有了 |
popitem() | 弹出一个项 |
update() | 更新字典 |