学习笔记(10):零基础搞定 Python 入门到实战-字典-2

立即学习:https://edu.csdn.net/course/play/26676/338781?utm_source=blogtoedu

三、字典的方法
1、dict()内置函数定义字典对象:使用以元组对(对应键值对映射)为元素的列表为参数
>>>  d = dict([('a',1),('lang','python')])
  File "", line 1
    d = dict([('a',1),('lang','python')])
    ^
IndentationError: unexpected indent
>>> d = dict([('a',1),('lang','python')])
>>>
 注意:python命令行方式时语句的格式,‘d = ’之前的空格数只能有一个空格,否则报错

2、得到字典的值:键值对读取、get()函数、setdefault()函数
2.1、键值对读取,若键key不存在会报错。不修改字典。
>>> d['a']
1
>>> d['b']
Traceback (most recent call last):
  File "", line 1, in
KeyError: 'b'

2.2、 get()函数读取,若键key不存在则不报错,返回值依据函数的参数。不修改字典。
>>> d.get('a',2)
1
>>> d.get('b')
>>> d
{'a': 1, 'lang': 'python'}
>>> d.get('b','laoqi')
'laoqi'
>>> d
{'a': 1, 'lang': 'python'}

2.3、 setdefault()函数读取,若键key不存在则增加字典键值对。
>>> d.setdefault('b','laoqi')
'laoqi'
>>> d
{'a': 1, 'lang': 'python', 'b': 'laoqi'}
>>> d.setdefault('a','hao')
1
>>>

3、字典中元素的增加、删除操作:update()、del、pop()、popitem()
3.1、update()
>>> d
{'a': 1, 'lang': 'python', 'b': 'laoqi'}
>>> d.update('price',3.14)
Traceback (most recent call last):
  File "", line 1, in
TypeError: update expected at most 1 arguments, got 2
>>> d.update(('price',3.14))
Traceback (most recent call last):
  File "", line 1, in
ValueError: dictionary update sequence element #0 has length 5; 2 is required
>>> d.update([('price',3.14)])
>>> d
{'a': 1, 'lang': 'python', 'b': 'laoqi', 'price': 3.14}
>>> d1 = ('color','red')
>>> d.update(d1)
Traceback (most recent call last):
  File "", line 1, in
ValueError: dictionary update sequence element #0 has length 5; 2 is required
>>> d1 = {'color':'red'}
>>> d.update(d1)
>>> d
{'a': 1, 'lang': 'python', 'b': 'laoqi', 'price': 3.14, 'color': 'red'}
>>>

3.2、del、pop()、popitem()
>>> del d['a']
>>> d
{'lang': 'python', 'b': 'laoqi', 'price': 3.14, 'color': 'red'}
>>>
>>> d.pop('lang')
'python'
>>> d
{'b': 'laoqi', 'price': 3.14, 'color': 'red'}
>>> d.pop('lang')
Traceback (most recent call last):
  File "", line 1, in
KeyError: 'lang'
>>> d.pop('lang','None')
'None'
>>> d.popitem()
('color', 'red')
>>> d
{'b': 'laoqi', 'price': 3.14}
>>>

四、比较字典和列表
1、字典不是序列,无法使用索引
2、两者都是容器类对象
3、两者都是可变对象(增删改后对象ID不变)
4、Python3.6开始,字典也有顺序(会影响popitem()操作)

你可能感兴趣的:(研发管理,编程语言,python,人工智能,语言,Python)