Python dict的常用方法示例代码

时间:2021-05-22

常用方法

浅拷贝copy

a = {"ilpy1": {"company": "aaa"}, "ilpy2": {"company": "bbb"} }new_dict = a.copy()new_dict["ilpy1"]["company"] = "wtf"print(new_dict)print(a)print(id(a))print(id(new_dict))print(id(new_dict["ilpy1"]["company"]))print(id(a["ilpy1"]["company"]))

然后我们发现,执行这一步操作时new_dict["ilpy1"]["company"] = "wtf",对a也执行了修改,比较id可知new_dict["ilpy1"]["company"]))和a["ilpy1"]["company"]指向了同一位置,而a与new_dict指向不同位置,这就是浅拷贝的副作用

深拷贝

这并不是dict自带的方法而是来自python的一个包copy

import copya = {"ilpy1": {"company": "aaa"}, "ilpy2": {"company": "bbb"} }new_dict = copy.deepcopy(a)print(id(a))print(id(new_dict))a['ilpy1']['company'] = "666"print(a)print(new_dict)

list转换dict

import copya = {"ilpy1": {"company": "aaa"}, "ilpy2": {"company": "bbb"} }myList = ['aaa', 'bbb']new_dict = dict.fromkeys(myList, "2")print(new_dict)

items

a = {"ilpy1": {"company": "aaa"}, "ilpy2": {"company": "bbb"} }for key,value in a.items(): print(key,value)

clear

a = {"ilpy1": {"company": "aaa"}, "ilpy2": {"company": "bbb"} }# clear 清楚dict元素# a.clear()# print(a)

update

a = {"ilpy1": {"company": "aaa"}, "ilpy2": {"company": "bbb"} }a.update(a=1,b=2)print(a)

传入可迭代对象也可

a = {"ilpy1": {"company": "aaa"}, "ilpy2": {"company": "bbb"} }a.update([('1','2')])print(a)a.update((('1','2'),))print(a)

setdefault

Python 字典 setdefault() 函数和 get()方法 类似, 如果键不存在于字典中,将会添加键并将值设为默认值。所以当我们需要快速判断键值对是否存在并且加上去的时候就可以使用此方法

ps:下面看下python-dict和list常用方法

# *********-list-*********# 创建一个listlist1 = [1, 2, '力气,', 'afd']print(type(list1))print(list1)# 添加单个元素list1.append('ffff')print(list1)list2 = ['ff2', 34]# 添加listlist2.extend(list1)print(list2)# 获取指定index的元素print(list2[2])# 删除指定values元素list2.remove('value')# 删除index=2的元素del list2[2]print(list2)# 创建一个list1中的数据重复2次的list3list3 = list1*2print(list3)# 排序list4 = [1, 2, 8, 3, 12, 3]# 升序list4.sort()print(list4)# 降序list4.reverse()print(list4)# 创建一个二维数组list_muti = [[0, 0, 1]]*2print(list_muti)print(list_muti[0][1])# *********-dict-*********# 创建一个dictdict1 = {}print(type(dict1))# 字典添加元素dict1['a'] = 'value-a'print(dict1)# 批量添加元素listx = []for value in ('abced'): for key in (['abcde', 're', 1, 'n你re1', 3]): if key in listx: continue else: listx.append(key) # print(value) # print(key) dict1[key] = value breakprint(dict1)# dict里的fromkeys方法dict1 = dict1.fromkeys(('a', 'ccc'), """ "nn'n'" """)print(dict1)# 获取keys之后转成list显示keylist = list(dict1.keys())print('%s' % keylist[0])# 获取values之后转成list显示valuelist = list(dict1.values())print('%s' % valuelist[0])print(dict1)# 获取key对应的valuevalue = dict1['a']print(value)value2 = dict1.get('ccc', '木有找到')# 与dict.get()方法一致,但是如果没有对应的key会自动创建一个key,value为nonedict1.setdefault('m')print(dict1)# 更新字典,如果没有对应的key会自动添加key-dictdict1.update({'ccc': 'fff2'})print(dict1)value2 = dict1.get('ccc1', '木有找到')print(value2)

总结

到此这篇关于Python dict的常用方法的文章就介绍到这了,更多相关Python dict的常用方法内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章