设为首页 收藏本站
查看: 1379|回复: 0

[经验分享] python字典操作

[复制链接]

尚未签到

发表于 2018-8-4 09:26:54 | 显示全部楼层 |阅读模式
  1、定义字典
  >>> d1 = {                         //key-value的格式
  "student1":"xiaoming",
  "student2":"zhangsan",
  "student3":"lisi"
  }
  2、查看
  >>> print(d1["student1"])      //在已知有此key的情况下使用,在没有此key时会报错
  xiaoming
  >>> print(d1.get("student2"))   //get方法不会报错
  zhangsan
  >>> print(d1.get("student1"))
  None
  3、修改key的值
  >>> print(d1["student1"])
  xiaoming
  >>> d1["student1"] = "XiaoMing"         //如果存在则修改,不存在则添加
  >>> print(d1["student1"])
  XiaoMing
  4、删除
  >>> del d1["student1"]
  >>> print(d1)
  {'student2': 'zhangsan', 'student3': 'lisi'}
  5、判断字典里有没有某数据
  >>> print("student1" in d1)
  False
  6、多级字典的嵌套
  >>> d2 = {
  "weibo":{
  "guomao":["wilson","david","lucia"],
  "bagou":["zhangsan","wangwu","lisi"]},
  "xindongfang":{
  "yuquan":["piter","alen","cc"],
  "wukesong":["shenyang","lidong","wangwei"]}
  }
  7、修改嵌套菜单中的值
  >>> print(d2["weibo"]["guomao"])
  ['wilson', 'david', 'lucia']              //修改之前
  >>> d2["weibo"]["guomao"][1] = "大卫"
  >>> print(d2["weibo"]["guomao"])
  ['wilson', '大卫', 'lucia']              //修改之后
  8、打印字典中的所有值
  >>> print(d2.values())
  9、打印字典中所有的key
  >>> print(d2.keys())
  10、如果字典中存在此键则返回,不存在则创建
  >>> print(d2)
  {'weibo': {'guomao': ['wilson', '大卫', 'lucia'], 'bagou': ['zhangsan', 'wangwu', 'lisi']}, 'xindongfang': {'yuquan': ['piter', 'alen', 'cc'], 'wukesong': ['shenyang', 'lidong', 'wangwei']}}
  >>> d2.setdefault("weibo",{"xinhua":["aa","bb","cc"]})
  {'guomao': ['wilson', '大卫', 'lucia'], 'bagou': ['zhangsan', 'wangwu', 'lisi']}
  >>> d2.setdefault("yingfu",{"xinhua":["aa","bb","cc"]})
  {'xinhua': ['aa', 'bb', 'cc']}
  >>> print(d2)
  {'weibo': {'guomao': ['wilson', '大卫', 'lucia'], 'bagou': ['zhangsan', 'wangwu', 'lisi']}, 'xindongfang': {'yuquan': ['piter', 'alen', 'cc'], 'wukesong': ['shenyang', 'lidong', 'wangwei']}, 'yingfu': {'xinhua': ['aa', 'bb', 'cc']}}
  11、合并两个字典,如果字典中有相同的key则更新,没有则添加
  >>> d1
  {'student2': 'zhangsan', 'student3': 'lisi'}
  >>> d3 = {"student2":"AAAA","BBBBB":"CCCCC",1:2}
  >>> d1.update(d3)
  >>> print(d1)
  {'student2': 'AAAA', 'student3': 'lisi', 'BBBBB': 'CCCCC', 1: 2}
  12、把字典转换成列表
  >>> print(d1.items())
  dict_items([('student2', 'AAAA'), ('student3', 'lisi'), ('BBBBB', 'CCCCC'), (1, 2)])
  可以循环打印
  >>> for k,v in d1.items():
  ...   print(k,v)
  ...
  student2 AAAA
  student3 lisi
  BBBBB CCCCC
  1 2
  13、字典的循环
  >>> for i in d1:
  ...   print(i)         //只打印key
  ...
  student2
  student3
  BBBBB
  1
  >>> for i in d1:
  ...   print(i,d1)        //把i当做key传入到字典中查询
  ...
  student2 AAAA
  student3 lisi
  BBBBB CCCCC
  1 2
  14、for k,v in d1.items():和for i in d1:print(i,d1)的区别
  第二种方式比较高效,因为第一种方式先把字典转换为列表,在数据量大的情况下,会导致资源的浪费。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-546271-1-1.html 上篇帖子: python pexpect 模块 下篇帖子: Python基础-Python基础使用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表