首先我们先了解一下字典是什么,字典有什么特点。
1、字典是一种贴着标签的容器。
2、字典是可变数据类型,可以添加、删除、替换。
3、字典里保存着一系列的key-value对,并且没有特定的顺序。
4、一对key-value,称作一个数据项,key-value之间用冒号:连接,数据项之间用逗号,间隔。
5、字典的key可以是任何不可变的类型,可以是数字、字符串、元组。
6、字典中的value可以是任意数据类型,甚至可以是字典。
下面来详细学习字典的一些操作和方法。
一、创建字典
花括号{}或者dict()
>>> names = {}
>>> names = dict()
(注:创建空字典)
>>> items = [('name','Jane'),('age',20)]
>>> student = dict(items)
>>> student
{'age': 20, 'name': 'Jane'}
>>> student = dict(name='Jane',age=20)
>>> student
{'age': 20, 'name': 'Jane'}
二、字典的大小
len函数
>>> student = dict(name='Jane',age=20)
>>> len(student)
2
三、复制字典copy()
>>> student = dict(name='Jane',age=20,course=['Math','English'])
>>> student
{'course': ['Math', 'English'], 'age': 20, 'name': 'Jane'}
>>> c_student = student.copy()
>>> c_student
{'course': ['Math', 'English'], 'age': 20, 'name': 'Jane'}
>>> c_student['name'] = 'Janet'
>>> c_student['course'].remove('English')
>>> c_student
{'course': ['Math'], 'age': 20, 'name': 'Janet'}
>>> student
{'course': ['Math'], 'age': 20, 'name': 'Jane'}
(注:当副本中替换值的时候,原字典不变,当副本修改值的时候,原字典也会变。)
四、查找字典
in操作
key in dict 判断dict中是否有键为key的项,返回True/False
>>> student = dict(name='Jane',age=20)
>>> student
{'age': 20, 'name': 'Jane'}
>>> 'age' in student
True
in操作和values函数的结合
判断字典中是否存在某个值,返回True/False
>>> student = dict(name='Jane',age=20)
>>> 20 in student.values()
True
has_key()
和in操作作用相同
>>> student = dict(name='Jane',age=20)
>>> student.has_key('name')
True
五、访问字典的数据项
dict[key]
>>> teacher = {'name':'Tony','age':30}
>>> teacher['age']
30
>>> teacher['age'] = 40
>>> teacher
{'age': 40, 'name': 'Tony'}
>>> teacher.get('name')
'Tony'
>>> teacher.get('age')
40
get()方法
>>> teacher = {'name': 'Tony', 'age': 40}
>>> teacher.get('name')
'Tony'
>>> teacher.get('age')
40
keys()函数:返回字典中所有的标签
>>> teacher = {'name':'Tony','age':40,'course':'Python'}
>>> teacher.keys()
['course', 'age', 'name']
>>> teacher.iterkeys()
>>> list(teacher.iterkeys())
['course', 'age', 'name']
values()函数:返回字典中所有的数据值
>>> teacher = {'name':'Tony','age':40,'course':'Python'}
>>> teacher.values()
['Python', 40, 'Tony']
>>> teacher.itervalues()
>>> list(teacher.itervalues())
['Python', 40, 'Tony']
items()函数:返回字典中所有的数据项,将每个数据项展示为二元元组。
>>> teacher = {'name':'Tony','age':40,'course':'Python'}
>>> teacher.items()
[('course', 'Python'), ('age', 40), ('name', 'Tony')]
>>> teacher.iteritems()
>>> item = teacher.iteritems()
>>> list(item)
[('course', 'Python'), ('age', 40), ('name', 'Tony')]
(注:iteritems与items的作用大致相同,但是iteritems返回的是一个迭代器,而不是一个列表。)
六、更新字典
update()方法
>>> teacher = {'name':'Jane','age':40,'gender':'female'}
>>> teacher
{'gender': 'female', 'age': 40, 'name': 'Jane'}
>>> item = {'course':['Python','Java']}
>>> teacher.update(item)
>>> teacher
{'gender': 'female', 'age': 40, 'name': 'Jane', 'course': ['Python', 'Java']}
(注:合并两个字典)
>>> teacher.update(friends = ['Janet','Tony'])
>>> teacher
{'gender': 'female', 'age': 40, 'friends': ['Janet', 'Tony'], 'name': 'Jane', 'course': ['Python', 'Java']}
(注:以key=value的形式添加数据项)
del操作:删除字典指定key的数据项
>>> teacher = {'name':'Jane','age': 40,'gender':'female','course': ['Python','Java'],'friends': ['Janet','Tony']}
>>> del teacher['gender']
>>> teacher
{'age': 40, 'friends': ['Janet', 'Tony'], 'name': 'Jane', 'course': ['Python', 'Java']}
pop()方法:删除指定key的数据项并返回value
>>> teacher.pop('age')
40
popitem()方法:删除任意一个数据项,并返回该数据项
>>> teacher.popitem()
('friends', ['Janet', 'Tony'])
clear()方法:清空字典
>>> teacher.clear()
>>> teacher
{}
以上是字典的一些基础知识,欢迎大家指正。
(文章中若出现等号=后面换行的情况,是因为数据太长屏幕显示不开。)
领取专属 10元无门槛券
私享最新 技术干货