快速学习-Python字典

Anna ·
更新时间:2024-11-14
· 770 次阅读

10. 字典

在字典中,键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行。

10.1 字典创建 dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'} dict = {x:x+1 for x in range(10)} 10.2 字典值获取 dict['Alice'] 10.3 更新字典 dict['Alice'] = 10 10.4 删除字典元素 del dict['Alice'] del dict 10.5 字典内置函数&方法 函数 描述 实例 len(dict) 计算字典元素个数,即键的总数。 dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'} len(dict) str(dict) 输出字典,以可打印的字符串表示。 dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'} str(dict) "{'Name': 'Runoob', 'Class': 'First', 'Age': 7}" type(variable) 返回输入的变量类型 dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'} type(dict) radiansdict.clear() 删除字典内所有元素 radiansdict.copy() 返回一个字典的浅复制 radiansdict.fromkeys() 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值 radiansdict.get(key, default=None) 返回指定键的值,如果值不在字典中返回default值 key in dict 如果键在字典dict里返回true,否则返回false radiansdict.items() 以列表返回可遍历的(键, 值) 元组数组 radiansdict.keys() 返回一个迭代器,可以使用 list() 来转换为列表 radiansdict.setdefault(key, default=None) 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default radiansdict.update(dict2) 把字典dict2的键/值对更新到dict里 radiansdict.values() 返回一个迭代器,可以使用 list() 来转换为列表 pop(key[,default]) 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。 popitem() 随机返回并删除字典中的一对键和值(一般删除末尾对)。

扩展:

浅拷贝:
只拷贝引用地址,未拷贝内容: a = [1,2,3,4,5] b = a 深拷贝:
拷贝引用地址和内容: a = [1,2,3,4,5] import copy b = copy.deepcopy(a)

可以递归拷贝;一拷到底

注意:
1、对于不可变类型 Number String Tuple,浅复制仅仅是地址指向,不会开辟新空间。
2、对于可变类型 List、Dictionary、Set,浅复制会开辟新的空间地址(仅仅是最顶层开辟了新的空间,里层的元素地址还是一样的),进行浅拷贝
3、浅拷贝后,改变原始对象中为可变类型的元素的值,会同时影响拷贝对象的;改变原始对象中为不可变类型的元素的值,只有原始类型受影响。


作者:cwl_java



快速学习 学习 Python

需要 登录 后方可回复, 如果你还没有账号请 注册新账号