★专题0:py语法精讲:字典

掌握字典的定义方法

key是不可变的,value是可变的

>>> cities = ['shanghai','soochow','hangzhou']
>>> phones = ['021','0512','0571']
>>> '{0}:{1}'.format(cities[0],phones[0])
'shanghai:021'
>>> d = {'shanghai':'021','soochow':'0512','hangzhou':'0571'}
>>> type(d)
<class 'dict'>
>>> {1:'a',2:['a','b'],(2,):['a','b'],'hello':{1:'a'},1:'python'}
{1: 'python', 2: ['a', 'b'], (2,): ['a', 'b'], 'hello': {1: 'a'}}
>>> {[1,2]:'hello'}
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'
>>> dict()
{}
>>> dict(a=1,b=2,c=3)
{'a': 1, 'b': 2, 'c': 3}

掌握字典的基本操作

>>> dict()
{}
>>> dict(a=1,b=2,c=3)
{'a': 1, 'b': 2, 'c': 3}
>>> d
{'shanghai': '021', 'soochow': '0512', 'hangzhou': '0571'}
>>> d['shanghai']
'021'
>>> d['shanghai'] = '123'
>>> d
{'shanghai': '123', 'soochow': '0512', 'hangzhou': '0571'}
>>> d['beijing'] = '010'
>>> d
{'shanghai': '123', 'soochow': '0512', 'hangzhou': '0571', 'beijing': '010'}
>>> len(d)
4
>>> 'shanghai' in d
True
>>> 'guangzhou' in d
False
>>> del d['shanghai']
>>> d
{'soochow': '0512', 'hangzhou': '0571', 'beijing': '010'}

掌握字典的方法

读取字典的值:
.get():寻找是否在字典中
.setdefault():增加一个值,如果没有给值的话默认为空
增加键值对:
.update():将另一个字典加入
删除字典的值:
.del()删除指定的值
.pop()删除指定的值,如果没有且没有其他参数的话会报错
.popitem()删除最后的键和值,如果为空则报错
.clear()清空

>>> d = {'soochow':'0512','hangzhou':'0571','beijing':'010','nanjing':'025'}
>>> d
{'soochow': '0512', 'hangzhou': '0571', 'beijing': '010', 'nanjing': '025'}
>>> d['soochow']
'0512'
>>> d['suzhou']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'suzhou'
>>> d.get('suzhou')
>>> d.get('suzhou')
>>> help(d.get())
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: get expected at least 1 arguments, got 0
>>> help(d.get)
Help on built-in function get:

get(key, default=None, /) method of builtins.dict instance
    Return the value for key if key is in the dictionary, else default.

>>> r = d.get('suzhou')
>>> print(r)
None
>>> bool(r)
False
>>> d
{'soochow': '0512', 'hangzhou': '0571', 'beijing': '010', 'nanjing': '025'}
>>> d.setdefault('suzhou','0512')
'0512'
>>> d
{'soochow': '0512', 'hangzhou': '0571', 'beijing': '010', 'nanjing': '025', 'suzhou': '0512'}
>>> d.setdefault('tianjin')
>>> d
{'soochow': '0512', 'hangzhou': '0571', 'beijing': '010', 'nanjing': '025', 'suzhou': '0512', 'tianjin': None}
>>> d['guangzhou'] = '020'
>>> d
{'soochow': '0512', 'hangzhou': '0571', 'beijing': '010', 'nanjing': '025', 'suzhou': '0512', 'tianjin': None, 'guangzhou': '020'}
>>> d2 = {'a':200,'b':300}
>>> d1 = {'name':'laoma','book':'learn python with lao qi'}
>>> d1.update(d2)
>>> d1
{'name': 'laoma', 'book': 'learn python with lao qi', 'a': 200, 'b': 300}
>>> d2
{'a': 200, 'b': 300}
>>> d2.update(c=1,d=2)
>>> d2
{'a': 200, 'b': 300, 'c': 1, 'd': 2}
>>> del d2['a']
>>> d2
{'b': 300, 'c': 1, 'd': 2}
>>> d.pop('soochow')
'0512'
>>> d
{'hangzhou': '0571', 'beijing': '010', 'nanjing': '025', 'suzhou': '0512', 'tianjin': None, 'guangzhou': '020'}
>>> d.pop('soochow')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'soochow'
>>> d.pop('soochow','0512')
'0512'
>>> d.popitem()
('guangzhou', '020')
>>> d
{'hangzhou': '0571', 'beijing': '010', 'nanjing': '025', 'suzhou': '0512', 'tianjin': None}
>>>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值