(python learn) 7 字典

python中的字典是用来存储键值对的。也就是存储 key-value这种格式的数据。比如:

1 >>> dic1={'name':'kramer','age':26,'gender':'male','tel':8888}
2 >>>

现在我们就创建了一个字典 dic1,我们可以通过下面的形式使用这个字典。

1 >>> dic1['tel']
2 8888

 与列表相比,字典的使用不会显得那么声色,如果是列表,我们只能通过索引来取值,但有可能我们不记得对应的索引可以取什么样的值,可是通过字典就可以跟更加直观。

字典的对象和列表一样也是可以变的,但是字典的键必须是不可变的。

举个例子:

 1 >>> dic1
 2 {'gender': 'male', 'age': 26, 'tel': 8888, 'name': 'kramer'}
 3 >>>
 4 >>> id(dic1)
 5 5260528
 6 >>> dic1['age']=28
 7 >>> id(dic1)
 8 5260528
 9 >>> dic1
10 {'gender': 'male', 'age': 28, 'tel': 8888, 'name': 'kramer'}

可以看到我们把字典的对象改变了,但是字典的地址没变。

再看一个例子,说明字典的key不可以变。

1 >>> c='A'
2 >>>
3 >>> dic1[c]='new'
4 >>> dic1
5 {'A': 'new', 'gender': 'male', 'age': 28, 'tel': 8888, 'name': 'kramer'}
6 >>> c='B'
7 >>> dic1
8 {'A': 'new', 'gender': 'male', 'age': 28, 'tel': 8888, 'name': 'kramer'}

首先我们为变量c赋值'

然后以变量c作为key为字典对象dic1增加一个 key-value

这时我们可以看到键由变量c变成了c代表的常量 'A'

即使我们把变量c重新赋值成B,也无法改变dic1中键为'A'。

字典中的数据更新可以用以下方法

del 删除字典或者字典中的值

 1 >>> dic1
 2 {'A': 'new', 'gender': 'male', 'age': 28, 'tel': 8888, 'name': 'kramer'}
 3 >>> del(dic1['A'])
 4 >>> dic1
 5 {'gender': 'male', 'age': 28, 'tel': 8888, 'name': 'kramer'}
 6 >>>
 7 >>> del(dic1)
 8 >>> dic1
 9 Traceback (most recent call last):
10   File "<stdin>", line 1, in ?
11 NameError: name 'dic1' is not defined

{}.pop() 删除并返回一个值

1 >>> dic1
2 {'A': 'new', 'gender': 'male', 'age': 28, 'tel': 8888, 'name': 'kramer'}
3 >>> dic1.pop('A')
4 'new'
5 >>> dic1
6 {'gender': 'male', 'age': 28, 'tel': 8888, 'name': 'kramer'}
7 >>>
8 >>> THE 'A':new IS DELTETED

{}.clear()清空字典的值

1 >>> dic1
2 {'A': 'new', 'gender': 'male', 'age': 28, 'tel': 8888, 'name': 'kramer'}
3 >>> dic1.clear()
4 >>> dic1
5 {}
原文地址:https://www.cnblogs.com/kramer/p/2959035.html