字典
字典创建
- dict()
b=dict(name='wwy',age=18,job='student')
c=dict([('name','wwy'),('age',18),('job',student)])
- {}
a={'name':'wwy','age':18,'job':student}
- zip()
>>> d=['name','age','job']
>>> e=['wwy',18,'student']
>>> f=dist(zip(d,e))
>>> f
{'name':'wwy','age':18,'job':'student'}
- fromkeys()
>>> g=dict.fromkeys(['name','age','job']) #创建值为空的字典
>>> g
{'name':None,'age':None,'job':None}
元素访问
假设存在一个这样的字典对象:
a={'name':'wwy','age':18,'job':'student'}
- 通过[键]获得“值”;若键不存在,抛出异常
>>> a['name']
'wwy'
>>> a['age']
18
>>> a['job']
'student'
- 通过get()方法获得“值”。
>>> a.get('name')
'wwy'
>>> a.get('sex')
None
>>> a.get('company','不存在')
'不存在'
- 列出所有的键值对
>>> a.items()
{'name':'wwy','age':18,'job':'student'}
- 分别列出所有的键和值
>>> a.keys()
dict_keys(['name','age','job'])
>>> a.values()
dict_values(['wwy',18,'student'])
-
计数
len(a) -
检测一个“键”是否在字典中
>>> 'name' in a
True
元素添加
- 新增“键值对”
若“键”已存在,就覆盖旧的键,否则新增
>>> a['commpany']='ujn'
>>> a
{'name':'wwy','age':18,'job':'student','commpany':'ujn'}
>>> a['age']=20
>>> a
{'name':'wwy','age':20,'job':'student','commpany':'ujn'}
元素修改
使用update()将新字典中所有键值对全部添加到旧字典上
若有重复,直接覆盖
>>> a
{'name':'wwy','age':18,'job':'student','commpany':'ujn'}
>>> b={'name':'kkk','age':20,'job':'student','commpany':'cau'}
>>> a.update(b)
{'name':'kkk','age':20,'job':'student','commpany':'cau'}
元素删除
- del()
>>> a
{'name':'wwy','age':18,'job':'student','commpany':'ujn'}
>>> del('age')
>>> a
{'name':'wwy','job':'student','commpany':'ujn'}
- pop()
删除指定“键”的键值对,并且返回值对象
>>> a
{'name':'wwy','age':18,'job':'student','commpany':'ujn'}
>>> b = a.pop('age')
>>> b
18
- popitem()
随机删除和返回该键值对
>>> a
{'name':'wwy','age':18,'job':'student','commpany':'ujn'}
>>> a.popitem()
{'name':'wwy'}
>>> a
{'age':18,'job':'student','commpany':'ujn'}
集合
集合创建和删除
- {}创建集合对象,()添加元素
>>> a={1,2,3,'wwy'}
>>> a
{1,2,3,'wwy'}
>>> a.add('kkk')
>>> a
{1,2,3,'kkk','wwy'}
- 使用set()将列表、元组等可迭代对象转成集合
- remove()删除指定元素,clear()清空整个集合