p43:
字典:键值对
1.字典的创建:
@1.花括号创建:>>> a = {'name':'renshanwen','age':18,'job':'programmer'}
@2.dict()来创建:b = dict(name='renshanwen',age=18,job='programmer')
@3. c = dict([("name","renshanwen"),("age",18),('job','programmer')])
>>> a
{'name': 'renshanwen', 'age': 18, 'job': 'programmer'}
>>> b
{'name': 'renshanwen', 'age': 18, 'job': 'programmer'}
>>> c
{'name': 'renshanwen', 'age': 18, 'job': 'programmer'}
>>>
创建空字典列表:
>>>c = {}
>>>d = dict()
2.通过zip()创建字典对象。
>>> k = ['name','age','job']
>>> v = ['renshanwen','21','soft engineer']
>>> d = dict(zip(k,v))
>>> d
{'name': 'renshanwen', 'age': '21', 'job': 'soft engineer'}
>>>
3 .通过 fromkeys 创建值为空的字典。
>>> a = dict.fromkeys(['name','age','job'])
>>> a
{'name': None, 'age': None, 'job': None}
>>>
p44:字典元素的访问:
1.通过键获得值,如果值不存在抛出异常:
>>> a = {'name':'renshanwen','age':20,'job':'programmer'}
>>> a['name']
'renshanwen'
>>> a['age']
20
>>> a['job']
'programmer'
>>> a['sex']
Traceback (most recent call last):
File "<pyshell#10>", line 1, in <module>
a['sex']
KeyError: 'sex'
>>>
2.用get()方法获得值,值不存在返回None,
>>> a.get('name')
'renshanwen'
>>> a.get('sex')
>>> a.get('sex','男生')
'男生'
>>>
3.列出所有键值对:
>>> a.items()
dict_items([('name', 'renshanwen'), ('age', 20), ('job', 'programmer')])
>>>
4列出所有的键,所有的值。
>>> a.keys()
dict_keys(['name', 'age', 'job'])
>>> a.values()
dict_values(['renshanwen', 20, 'programmer'])
5.len() 返回键值对的个数。
>>> a = {'name':'renshanwen','age':18,'job':'programmer'}
>>> len(a)
3
>>>
6.检测一个键是不是在一个键值对当中。
>>> 'name'in a
True
>>>
p45:字典元素的添加,修改和删除。
1.给字典添加新元素,如果存在则覆盖。
>>> a = {'name':'renshanwen','age':18,'job':'programmer'}
>>> a['address']='山东省德州市'
>>> a['age']=21
>>> a
{'name': 'renshanwen', 'age': 21, 'job': 'programmer', 'address': '山东省德州市'}
>>>
2.使用update()将新字典中的所有键值对全部添加到旧键值对上,如果存在重复的,则新的覆盖旧的。
{'name': 'renshanwen', 'age': 21, 'job': 'programmer', 'address': '山东省德州市'}
>>> a = {'name':'renshanwen','age':18,'job':'programmer'}
>>> b = {'name':'lijianchao','address':'北京市中关村'}
>>> a.update(b)
>>> a
{'name': 'lijianchao', 'age': 18, 'job': 'programmer', 'address': '北京市中关村'}
>>>
3.字典中元素的删除,可以使用del()方法;或者clear()删除所有的键值对;pop()删除指定的键值对
并且返回对应的值。
>>> a = {'name':'renshanwen','age':18,'job':'programmer'}
>>> del(a['name'])
>>> a
{'age': 18, 'job': 'programmer'}
>>> b = a.pop('age')
>>> b
18
>>> a
{'job': 'programmer'}
>>> a = {'name':'renshanwen','age':18,'job':'programmer'}
>>> a
{'name': 'renshanwen', 'age': 18, 'job': 'programmer'}
>>> a.clear()
>>> a
{}
>>>
4.popiterm():随机的删除和返回键值对,字典是“无序可变序列”,因此没有第一个和最后一个元素的概念
如果想要一个一个的删除,可以使用。
>>> a = {'name':'renshanwen','age':18,'job':'programmer'}
>>> a.popitem()
('job', 'programmer')
>>> a
{'name': 'renshanwen', 'age': 18}
>>> a.popitem()
('age', 18)
>>> a
{'name': 'renshanwen'}
>>> a.popitem()
('name', 'renshanwen')
>>> a
{}
>>>
p46:序列解包:
>>> a = {'name':'renshanwen','age':18,'job':'programmer'}
>>> b,c,d = a
>>> b
'name'
>>> c
'age'
>>> d
'job'
>>> e,f,g = a.values()
>>> e
'renshanwen'
>>> f
18
>>> g
'programmer'
>>> h,i,j = a.items()
>>> h
('name', 'renshanwen')
>>> i
('age', 18)
>>> j
('job', 'programmer')
>>>