Python dict的常用方法示例代码


Posted in Python onJune 23, 2020

常用方法

浅拷贝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"]指向了同一位置,而anew_dict指向不同位置,这就是浅拷贝的副作用

深拷贝

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

import copy

a = {"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 copy

a = {"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-*********
# 创建一个list
list1 = [1, 2, '力气,', 'afd']
print(type(list1))
print(list1)
# 添加单个元素
list1.append('ffff')
print(list1)
list2 = ['ff2', 34]
# 添加list
list2.extend(list1)
print(list2)
# 获取指定index的元素
print(list2[2])
# 删除指定values元素
list2.remove('value')
# 删除index=2的元素
del list2[2]
print(list2)
# 创建一个list1中的数据重复2次的list3
list3 = list1*2
print(list3)
# 排序
list4 = [1, 2, 8, 3, 12, 3]
# 升序
list4.sort()
print(list4)
# 降序
list4.reverse()
print(list4)
# 创建一个二维数组
list_muti = [[0, 0, 1]]*2
print(list_muti)
print(list_muti[0][1])
# *********-dict-*********
# 创建一个dict
dict1 = {}
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
      break
print(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对应的value
value = dict1['a']
print(value)
value2 = dict1.get('ccc', '木有找到')
# 与dict.get()方法一致,但是如果没有对应的key会自动创建一个key,value为none
dict1.setdefault('m')
print(dict1)
# 更新字典,如果没有对应的key会自动添加key-dict
dict1.update({'ccc': 'fff2'})
print(dict1)
value2 = dict1.get('ccc1', '木有找到')
print(value2)

总结

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

Python 相关文章推荐
python算法学习之基数排序实例
Dec 18 Python
Python求解平方根的方法
Mar 11 Python
Django实现简单分页功能的方法详解
Dec 05 Python
Python实现简单遗传算法(SGA)
Jan 29 Python
tensorflow 加载部分变量的实例讲解
Jul 27 Python
在双python下设置python3为默认的方法
Oct 31 Python
Python pandas DataFrame操作的实现代码
Jun 21 Python
Django自定义用户登录认证示例代码
Jun 30 Python
使用matplotlib动态刷新指定曲线实例
Apr 23 Python
如何利用python正则表达式匹配版本信息
Dec 09 Python
在pyCharm中下载第三方库的方法
Apr 18 Python
关于python爬虫应用urllib库作用分析
Sep 04 Python
Python3 webservice接口测试代码详解
Jun 23 #Python
python和JavaScript哪个容易上手
Jun 23 #Python
pytorch 查看cuda 版本方式
Jun 23 #Python
Spring @Enable模块驱动原理及使用实例
Jun 23 #Python
PyTorch-GPU加速实例
Jun 23 #Python
Python基于yaml文件配置logging日志过程解析
Jun 23 #Python
解决pytorch多GPU训练保存的模型,在单GPU环境下加载出错问题
Jun 23 #Python
You might like
php 模拟post_验证页面的返回状态(实例讲解)
2013/10/28 PHP
php版本CKEditor 4和CKFinder安装及配置方法图文教程
2019/06/05 PHP
form表单action提交的js部分与html部分
2014/01/07 Javascript
JavaScript中停止执行setInterval和setTimeout事件的方法
2015/05/14 Javascript
jquery UI Datepicker时间控件的使用方法(加强版)
2015/11/07 Javascript
JSONObject使用方法详解
2015/12/17 Javascript
分享JavaScript与Java中MD5使用两个例子
2015/12/23 Javascript
jQuery插件 Jqplot图表实例
2016/06/18 Javascript
Angularjs中的ui-bootstrap的使用教程
2017/02/19 Javascript
HTML中使背景图片自适应浏览器大小实例详解
2017/04/06 Javascript
基于JS实现带动画效果的流程进度条
2018/06/01 Javascript
jQuery.validate.js表单验证插件的使用代码详解
2018/10/22 jQuery
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【凹多边形的分离轴检测算法】
2018/12/13 Javascript
vue-cli配置flexible过程详解
2019/07/04 Javascript
createObjectURL方法实现本地图片预览
2019/09/30 Javascript
Vue实现剪切板图片压缩功能
2020/02/04 Javascript
Python实现好友全头像的拼接实例(推荐)
2017/06/24 Python
Python基于scapy实现修改IP发送请求的方法示例
2017/07/08 Python
python+django+sql学生信息管理后台开发
2018/01/11 Python
浅谈Python脚本开头及导包注释自动添加方法
2018/10/27 Python
详解Django3中直接添加Websockets方式
2020/02/12 Python
python设置环境变量的作用整理
2020/02/17 Python
pytorch  网络参数 weight bias 初始化详解
2020/06/24 Python
Python配置pip国内镜像源的实现
2020/08/20 Python
Python之字典添加元素的几种方法
2020/09/30 Python
浅析Python模块之间的相互引用问题
2021/02/26 Python
详解CSS3的box-shadow属性制作边框阴影效果的方法
2016/05/10 HTML / CSS
售后专员岗位职责
2013/12/08 职场文书
大学生精神文明先进个人事迹材料
2014/05/02 职场文书
欢迎领导检查标语
2014/06/27 职场文书
县委班子四风对照检查材料思想汇报
2014/09/29 职场文书
2014年学生会部门工作总结
2014/11/07 职场文书
财务人员岗位职责
2015/02/03 职场文书
2015年学校关工委工作总结
2015/04/03 职场文书
创业计划书之熟食店
2019/10/16 职场文书
忆童年!用Python实现愤怒的小鸟游戏
2021/06/07 Python