课时 47 : 043.字典_特点_4种创建方式_普通_dict_zip_formkeys 10:46
字典:
字典是“键值对”的无序可变序列,字典中每一个元素都是一个“键值对”,包含“键对象”和“值对象”。
列表中我们通过“下标数字”找到对应的对象。字典中通过“键对象”找到对应的“值对象”。“键”是任意的不可变数据,比如:整数、浮点数、字符串、元组。但是,列表、字典、集合这些可变对象,不能作为“键”。并且“键”不可重复。
一个典型的字典的定义方式:a={‘name’:’gaoqi’,’age’:18,’job’:’programmer’}
【name就是键,gaoqi就是值。字典就是成对出现的。通过a.get(‘name’)可以找到值‘gaoqi’】
列表通过下标数字找到对象: a=[0]
字典通过“键对象”找到对应的“值对象”: a=[‘name’] 【两者其实是一样的】
字典的创建:
1.通过{}、dict()来创建字典对象
>>>a={‘name’:’gaoqi’,’age’:18,’job’:’programmer’}
>>>b=dict(name=’gaoqi’,age=18,job=’programmer’)
>>>a=dict([(“name”,”gaoqi”),(“age”,18)]) #每个括号是一个元组
>>>c={} #空的字典对象
>>>d=dict() #空的字典对象
2.通过zip创建字典对象
3.通过fromkeys创建值为空的字典
>>>a=dict.fromkeys([‘name’,’age’,’job’])
>>>a
{‘name’:None,’age’:None,’job’:None}
课时 48 : 044.字典_元素的访问_键的访问_值的访问_键值对的访问 05:10
字典_元素的访问 先设定一个字典对象a={‘name’:’gaoqi’,’age’:18,’job’:’programmer’}
1.通过[键]获得“值”。若键不存在,则抛出异常。
2.通过get()方法获得“值”。推荐使用。优点是:指定键不存在,返回None;也可以设定指定键不存在时默认返回的对象。
说明:’不存在’则是指定键不存在时设定的默认返回的对象。
3.列出所有的键值对
>>>a.items()
dict_items([(‘name’,’gaoqi’),(‘age’,18),(‘job’,’programmer’)])
4.列出所有的键,列出所有的值
>>>a.key()
>>>a.values()
5.len()计算所有键值对的个数
6.检测一个“键”是否在字典中
>>>a={‘name’:’gaoqi’,’age’:18}
>>>”name” in a
True
课时 49 : 045.字典_元素的添加_修改_删除.mp4 06:04
字典元素的添加、修改和删除
1.给字典新增“键值对”。如果“键”已经存在,则覆盖旧的键值对;如果“键”不存在,则新增“键值对”。
2.使用update()将新字典中所有键值对全部添加到旧字典对象上。如果key有重复,则直接覆盖。
>>> a={'name':'gaoqi','age':18,'job':'programmer'}
>>>b={‘name’:’gaoxixi’,’money’:1000,’sex’:’男的’}
>>>a.update(b)
>>>a
{‘name’:’gaoxixi’, 'age':18,'job':'programmer', ’money’:1000,’sex’:’男的’}
3.字典中元素的删除,可以使用del()方法;或者clear()删除所有键值对;pop()删除指定键值对,并返回对应的“值对象”。
说明:最后相当于把18这个值赋给了b这个变量。
4.popitem():随机删除和返回该键值对。字典是“无序可变序列”,因此没有第一个元素、最后一个元素的概念;popitem弹出随机的项,因为字典并没有“最后的元素”或者其他有关顺序的概念。若想一个接一个地移除并处理项,这个方法就非常有效。(因为不用首先获取键的列表)。
课时 50 : 046.字典_序列解包用于列表元组字典.mp4 03:33
序列解包可用于元组、列表、字典。序列解包可以让我们方便的对对个变量赋值。
>>>x,y,z=(10,20,30) #用于元组
>>>x
10
>>>[a,b,c]=[9,8,10] #用于列表
>>>a
9
>>>(a,b,c)=(10,20,30)
>>>a
10
序列解包用于字典时,默认是对“键”进行操作;如果需要对键值对进行操作,则需要使用items();如果需要对“值”进行操作,则需要使用values()。