继续复习Python,今日复习 —— 字典,中间会有自己的心得体会,要是有什么错误或者补充可直接评论或者私信哟。
字典(dict)
字典是“键-值对”的无序可变序列,字典的每个元素包含两个部分:“键”和“值”。
在自学了爬虫之后,深刻体会到了字典的重要性,很多网站返回的数据都是JSON格式的数据,其实就是对字典类型的数据进行处理,涉及到字典的一系列操作,要是不了解的话,处理起来就会很是头痛。
#定义字典
a = {'a':1,'b':2}
字典中的”键“可以是Python中任意不可变数据,其值是不可以重复的且不可以为空。”值“是可以重复的且可以为空。
字典的创建与删除
#创建一个字典
a = {}
a = {'a':1,'b':2}
#使用内置函数dict()和zip()函数创建字典
a = [1,2,3]
b = [a,b,c]
c = dict(zip(a,b))
字典元素的读取
可以使用下标的方式来访问字典中的元素,但不同的是字典的下标是字典的键,当指定的键不存在的时候,便会抛出异常。
male = {'name':dong,'sex':male,'age':20}
male['name']
dong
在访问字典元素的时候,推荐使用字典对象的get()方法,获取指定”键“对应的”值“,并且可以在指定”键“不存在的时候返回指定值,如果不指定,则默认返回None。
print(male.get(['num']))
None
print(male.get['num','10'])
10
male['num'] = male.get('num',[])
male['num'].append(2)
print(male)
{'num':2,'name':dong,'sex':male,'age':20}
使用字典对象的 items() 方法,可以返回字典的”键-值对“列表,使用字典对象的 keys() 方法,可以返回字典的”键“列表,使用字典对象的 values() 方法,可以返回字典的”值“列表。
for item in male.items():
print(item)
for key in male.keys():
print(key)
for value in male.values():
print(value)
for key,value in male.items():
print(key,value)
字典元素的添加与修改
直接进行精确修改:
male['name'] = 'zhao'
使用字典对象的 update() 方法将另一个字典的”键-值对“一次性添加进当前字典对像,若果两个字典存在相同的键,则以另一个字典中的值为准对当前字典进行更新。
male.update({'me':sometime,'to':you})
有序字典
Python的内置字典是无序的,但在Python 3.5 中,collections.OrderedDict()可创建有序字典
import collections
x = collections.OrderedDict()
x['a'] = 1
x['b'] = 2
print(x)
OrderedDict([('a', 1), ('b', 2)])
这次看书,学到了,Python中的字典也可以是有序的!