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实现通过shelve修改对象实例
Sep 26 Python
简单介绍Python中的len()函数的使用
Apr 07 Python
将Python的Django框架与认证系统整合的方法
Jul 24 Python
git使用.gitignore设置不生效或不起作用问题的解决方法
Jun 01 Python
python虚拟环境的安装配置图文教程
Oct 20 Python
python中的计时器timeit的使用方法
Oct 20 Python
python读取csv文件并把文件放入一个list中的实例讲解
Apr 27 Python
python3基于TCP实现CS架构文件传输
Jul 28 Python
PySide2出现“ImportError: DLL load failed: 找不到指定的模块”的问题及解决方法
Jun 10 Python
pandas map(),apply(),applymap()区别解析
Feb 24 Python
PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题
Apr 03 Python
利用Python多线程实现图片下载器
Mar 25 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入门源程序
2006/10/09 PHP
php替换超长文本中的特殊字符的函数代码
2012/05/22 PHP
关于二级目录拖拽排序的实现(源码示例下载)
2013/04/26 PHP
PHP生成数组再传给js的方法
2014/08/07 PHP
Windows上php5.6操作mongodb数据库示例【配置、连接、获取实例】
2019/02/13 PHP
利用jQuery的$.event.fix函数统一浏览器event事件处理
2009/12/21 Javascript
js隐藏与显示回到顶部按钮及window.onscroll事件应用
2013/01/25 Javascript
javascript获得网页窗口实际大小的示例代码
2013/09/21 Javascript
使用JavaScript的ActiveXObject对象检测应用程序是否安装的方法
2014/04/15 Javascript
get(0).tagName获得作用标签示例代码
2014/10/08 Javascript
jquery插件Jplayer使用方法简析
2016/04/22 Javascript
jquery轮播的实现方式 附完整实例
2016/07/28 Javascript
Easyui的组合框的取值与赋值
2016/10/28 Javascript
AngularJS 应用身份认证的技巧总结
2016/11/07 Javascript
nodejs搭建本地服务器并访问文件的方法
2017/03/03 NodeJs
php简单数据库操作类的封装
2017/06/08 Javascript
浅析webpack 如何优雅的使用tree-shaking(摇树优化)
2017/08/16 Javascript
浅谈React和Redux的连接react-redux
2017/12/04 Javascript
js实现点击按钮复制文本功能
2020/07/20 Javascript
微信小程序日历组件使用方法详解
2018/12/29 Javascript
[03:20]2015国际邀请赛全明星表演赛
2015/08/08 DOTA
Python自动化构建工具scons使用入门笔记
2015/03/10 Python
使用Python解析JSON数据的基本方法
2015/10/15 Python
Python中的列表生成式与生成器学习教程
2016/03/13 Python
python遍历 truple list dictionary的几种方法总结
2016/09/11 Python
tensorflow实现在函数中用tf.Print输出中间值
2020/01/21 Python
全球速卖通:AliExpress(国际版淘宝)
2017/09/20 全球购物
屈臣氏马来西亚官网:Watsons马来西亚
2019/06/15 全球购物
JPA的特点
2014/10/25 面试题
军训的自我鉴定
2013/12/10 职场文书
保护水资源的标语
2014/06/17 职场文书
2014年药店店长工作总结
2014/11/17 职场文书
公司出纳岗位职责
2015/03/31 职场文书
如何写通讯稿
2015/07/22 职场文书
2016公务员年度考核评语
2015/12/01 职场文书
Java如何实现树的同构?
2021/06/22 Java/Android