Python字典简要介绍和使用场景。

Python字典的每个键值(key、value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中。




python dictionary 引用值返回特定键_jsp value设置为函数的返回值


字典这种格式的数据结构应用也挺广的,也可以把字典看成是json,两者之间写法也大同小异。JSON是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。

前端和后端交互数据、api接口返回的数据中很多都是用这种格式。有可能直接就是字典格式,也有可能是一个字符串包裹着字典,或者是列表包裹字典。

网络爬虫很多时候就是在处理跟字典相似的数据结构,从而获取想要的数据。

总之我们要学习Python字典有什么内置函数可以使用,然后怎么去操作字典?

那么Python字典中包含了哪些内置函数或者方法?

len(dict):计算字典元素个数,即键的总数。


python dictionary 引用值返回特定键_python字典添加数组_02


str(dict):输出字典,以可打印的字符串表示。


python dictionary 引用值返回特定键_python 复制dict_03


type(variable):返回输入的变量类型,如果变量是字典就返回字典类型。


python dictionary 引用值返回特定键_jsp value设置为函数的返回值_04


python dictionary 引用值返回特定键_python字典添加数组_05


clear() 函数用于删除字典内所有元素。

clear()方法语法:

  • dict.clear()

参数:

  • NA。

返回值:

  • 该函数没有任何返回值。


python dictionary 引用值返回特定键_python 获取第一个key_06



copy() 函数返回一个字典的浅复制。

copy()方法语法:

  • dict.copy()

参数:

  • NA。

返回值:

  • 返回一个字典的浅复制。


python dictionary 引用值返回特定键_jsp value设置为函数的返回值_07


直接赋值和 copy()方法 的区别

直接赋值:分别用字典1修改第一个元素,字典2修改第二个元素,最后输出结果相同。说明直接赋值修改其中一个字典的元素,另一个字典的元素也跟着改变。


python dictionary 引用值返回特定键_python 复制dict_08


copy()方法:分别用字典1修改第一个元素,字典2修改第二个元素,最后输出结果不同。说明copy()方法修改元素只会改变自己字典的元素,不会影响另一个字典的元素。


python dictionary 引用值返回特定键_python 复制dict_09



fromkeys() 函数用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。

fromkeys() 方法语法:

  • dict.fromkeys(seq, value)

参数:

  • seq:字典键值列表。
  • value:可选参数, 设置键序列(seq)对应的值,默认为 None。

返回值:

  • 该方法返回一个新字典。

默认为 None:


python dictionary 引用值返回特定键_jsp value设置为函数的返回值_10


设置第二个参数:


python dictionary 引用值返回特定键_python 复制dict_11



get()和setdefault() 方法类似,函数返回指定键的值,如果值不在字典中返回默认值。

不同get()不改变字典,setdefault()添加键值改变字典。

get()方法语法:

  • dict.get(key, default=None)

参数:

  • key:字典中要查找的键。
  • default :可选参数, 如果指定键的值不存在时,返回该默认值值。

返回值:

  • 返回指定键的值,如果值不在字典中返回默认值 None。


python dictionary 引用值返回特定键_jsp value设置为函数的返回值_12



setdefault() 方法和get()方法类似, 如果键不已经存在于字典中,将会添加键并将值设为默认值。

不同get()不改变字典,setdefault()添加键值改变字典。

setdefault()方法语法:

  • dict.setdefault(key, default=None)

参数:

  • key:查找的键值。
  • default:键不存在时,设置的默认键值。

返回值:

  • 如果 key 在 字典中,返回对应的值。如果不在字典中,则插入 key 及设置的默认值 default,并返回 default ,default 默认值为 None。


python dictionary 引用值返回特定键_python 复制dict_13


python dictionary 引用值返回特定键_python 获取第一个key_14


items() 方法以列表返回可遍历的(键, 值) 元组数组。

items()方法语法:

  • dict.items()

参数:

  • NA。

返回值:

  • 返回可遍历的(键, 值) 元组数组。

如果直接循环字典,输出键:


python dictionary 引用值返回特定键_substring不是可以识别的内置函数_15


如果需要获取值:写法有点复杂。


python dictionary 引用值返回特定键_python 复制dict_16


如果用items():可以单一选择输出键还是值。


python dictionary 引用值返回特定键_python字典添加数组_17


键值一起循环输出:


python dictionary 引用值返回特定键_jsp value设置为函数的返回值_18



keys() 方法返回一个可迭代对象,如果需要转换可以使用 list() 来转换为列表。

keys()方法语法:

  • dict.keys()

参数:

  • NA。

返回值:

  • 返回一个迭代器。


python dictionary 引用值返回特定键_python 获取第一个key_19



values() 方法返回一个迭代器,可以使用 list() 来转换为列表,列表为字典中的所有值。

values()方法语法:

  • dict.values()

参数:

  • NA。

返回值:

  • 返回迭代器。


python dictionary 引用值返回特定键_python 获取第一个key_20


update() 函数把字典参数 dict2 的key/value(键/值)对更新到字典 dict 里。

update() 方法语法:

  • dict.update(dict2)

参数:

  • dict2:添加到指定字典dict里的字典。

返回值:

  • 该方法没有任何返回值。


python dictionary 引用值返回特定键_python 获取第一个key_21



pop() 方法删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。字典发生改变。

pop()方法语法:

  • dict.pop(key,default)

参数:

  • key:要删除的键值
  • default:如果没有 key,返回 default 值

返回值:

  • 返回被删除的值。


python dictionary 引用值返回特定键_python字典添加数组_22



popitem() 方法随机返回并删除字典中的一对键和值(一般删除末尾对)。如果字典已经为空,却调用了此方法,就报出KeyError异常。

popitem()方法语法:

  • dict.popitem()

参数:

返回值:

  • 返回一个键值对(key,value)形式


python dictionary 引用值返回特定键_substring不是可以识别的内置函数_23