过程
在字典中,先根据需求来获得字典,然后就是先使用它增删查改,然后就是一些主意的事项了。
创建字典
查询字典内容
更改字典的值
删除字典的值
字典内置的函数&方法
简单介绍字典的用途
在数据中,具有键-值(key-value)存储,具有极快的查找速度。使用字典,我们就可以通过字符串来获取到我们想要的信息。
创建字典
字典是有键值对组成的一种容器。那如何创建它呢?
1
2'd1':'dict1', 'd2':'dict2', 'd3':'dict3', 'd4':'dict4'} dict = {
print dict
结果如下
1
{'d4': 'dict4', 'd2': 'dict2', 'd3': 'dict3', 'd1': 'dict1'}
这样,我们的字典创建就可以了,以key-value 的形式作为元素哦。
关于字典的键(key)
value 可以没有限制地取任何python对象,但是 key 就需要记住两个:
- 不允许同一个键出现
两次
。创建时如果同一个键被赋值两次,后一个值会被记住
。1
2
3
4
5
6
7
8
9
10
11
12
13>>> dict = {'name':'hello', 'name':'oh'}
>>> print dict
{'name': 'oh'}
# 只有一个值,那就是最后同名的那个值
```
2. `键`必须不可变,所以可以用`数`,`字符串`或`元组`充当。
``` python
8:'bye', 'you':'coder'} # 包括了 数 '8', 字符串 'you' dict = {
print dict
{8: 'bye', 'you': 'coder'}
print 'dict[8]' + dict[8] + ', dict[\'you\']' + dict['you']
dict[8]bye, dict['you']coder
查询字典的值
字典的查询就不难了,依照上面的字典。试一试
1
2
3
4
58:'bye', 'you':'coder'} # 包括了 数 '8', 字符串 'you' dict = {
8] dict[
'bye'
'you'] dict[
'coder'
通过键我们就可以访问到字典对应的值了,不会像数组那样从 index 0
开始了。
但是如果我们查询的键没有呢?就会出错。
1
2
3
49] dict[
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 9
那么怎么样才知道它有没有这个键(key)
呢? 使用方法 has_key([key])
1
2
3
4
59) dict.has_key(
False
8) dict.has_key(
True
# 这样我们就可以在脚本中去判断键的存在咯。
那如果出现Python Error:TypeError: string indices must be integers, not str呢
请参照Python Error:TypeError: string indices must be integers, not str
更改字典的值
修改字典的值,就很容易了。获取到对应键的值,再赋值就好了。
1
2
3
4
5print dict[8]
bye
8]=80 dict[
print dict[8]
80
结果就是这样简单啦。
删除字典的值
删除字典有两种
删除单一元素
del
1
2
3
4
5
68:'bye', 'you':'coder'} dict = {
print dict
{8: 'bye', 'you': 'coder'}
del dict[8] # 删除元素
print dict
{'you': 'coder'}清空字典
dict-instance.clear()
1
2
3
48:'bye', 'you':'coder'} dict = {
# 清空字典元素啦。。。。 dict.clear()
print dict
{}
字典内置的函数&方法
内置函数
1
2
3
4
5
6
7cmp(dict1, dict2): 比较两个字典元素。
len(dict): 计算字典元素个数,即键的总数。
str(dict): 输出字典可打印的字符串表示。
type(variable): 返回输入的变量类型,如果变量是字典就返回字典类型。
Python字典包含了以下内置方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19radiansdict.clear(): 删除字典内所有元素
radiansdict.copy(): 返回一个字典的浅复制
radiansdict.fromkeys(): 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
radiansdict.get(key, default=None): 返回指定键的值,如果值不在字典中返回default值
radiansdict.has_key(key): 如果键在字典dict里返回true,否则返回false
radiansdict.items(): 以列表返回可遍历的(键, 值) 元组数组
radiansdict.keys(): 以列表返回一个字典所有的键
radiansdict.setdefault(key, default=None):和get()类似, 但如果键不已经存在于字典中,将会添加键并将值设为default
radiansdict.update(dict2): 把字典dict2的键/值对更新到dict里
radiansdict.values(): 以列表返回字典中的所有值