Python字典简要介绍和使用场景。
Python字典的每个键值(key、value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中。
字典这种格式的数据结构应用也挺广的,也可以把字典看成是json,两者之间写法也大同小异。JSON是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。
前端和后端交互数据、api接口返回的数据中很多都是用这种格式。有可能直接就是字典格式,也有可能是一个字符串包裹着字典,或者是列表包裹字典。
网络爬虫很多时候就是在处理跟字典相似的数据结构,从而获取想要的数据。
总之我们要学习Python字典有什么内置函数可以使用,然后怎么去操作字典?
那么Python字典中包含了哪些内置函数或者方法?
len(dict):计算字典元素个数,即键的总数。
str(dict):输出字典,以可打印的字符串表示。
type(variable):返回输入的变量类型,如果变量是字典就返回字典类型。
clear() 函数用于删除字典内所有元素。
clear()方法语法:
- dict.clear()
参数:
- NA。
返回值:
- 该函数没有任何返回值。
copy() 函数返回一个字典的浅复制。
copy()方法语法:
- dict.copy()
参数:
- NA。
返回值:
- 返回一个字典的浅复制。
直接赋值和 copy()方法 的区别
直接赋值:分别用字典1修改第一个元素,字典2修改第二个元素,最后输出结果相同。说明直接赋值修改其中一个字典的元素,另一个字典的元素也跟着改变。
copy()方法:分别用字典1修改第一个元素,字典2修改第二个元素,最后输出结果不同。说明copy()方法修改元素只会改变自己字典的元素,不会影响另一个字典的元素。
fromkeys() 函数用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。
fromkeys() 方法语法:
- dict.fromkeys(seq, value)
参数:
- seq:字典键值列表。
- value:可选参数, 设置键序列(seq)对应的值,默认为 None。
返回值:
- 该方法返回一个新字典。
默认为 None:
设置第二个参数:
get()和setdefault() 方法类似,函数返回指定键的值,如果值不在字典中返回默认值。
不同get()不改变字典,setdefault()添加键值改变字典。
get()方法语法:
- dict.get(key, default=None)
参数:
- key:字典中要查找的键。
- default :可选参数, 如果指定键的值不存在时,返回该默认值值。
返回值:
- 返回指定键的值,如果值不在字典中返回默认值 None。
setdefault() 方法和get()方法类似, 如果键不已经存在于字典中,将会添加键并将值设为默认值。
不同get()不改变字典,setdefault()添加键值改变字典。
setdefault()方法语法:
- dict.setdefault(key, default=None)
参数:
- key:查找的键值。
- default:键不存在时,设置的默认键值。
返回值:
- 如果 key 在 字典中,返回对应的值。如果不在字典中,则插入 key 及设置的默认值 default,并返回 default ,default 默认值为 None。
items() 方法以列表返回可遍历的(键, 值) 元组数组。
items()方法语法:
- dict.items()
参数:
- NA。
返回值:
- 返回可遍历的(键, 值) 元组数组。
如果直接循环字典,输出键:
如果需要获取值:写法有点复杂。
如果用items():可以单一选择输出键还是值。
键值一起循环输出:
keys() 方法返回一个可迭代对象,如果需要转换可以使用 list() 来转换为列表。
keys()方法语法:
- dict.keys()
参数:
- NA。
返回值:
- 返回一个迭代器。
values() 方法返回一个迭代器,可以使用 list() 来转换为列表,列表为字典中的所有值。
values()方法语法:
- dict.values()
参数:
- NA。
返回值:
- 返回迭代器。
update() 函数把字典参数 dict2 的key/value(键/值)对更新到字典 dict 里。
update() 方法语法:
- dict.update(dict2)
参数:
- dict2:添加到指定字典dict里的字典。
返回值:
- 该方法没有任何返回值。
pop() 方法删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。字典发生改变。
pop()方法语法:
- dict.pop(key,default)
参数:
- key:要删除的键值
- default:如果没有 key,返回 default 值
返回值:
- 返回被删除的值。
popitem() 方法随机返回并删除字典中的一对键和值(一般删除末尾对)。如果字典已经为空,却调用了此方法,就报出KeyError异常。
popitem()方法语法:
- dict.popitem()
参数:
- 无
返回值:
- 返回一个键值对(key,value)形式