Python基础数据类型-字典(dict)
Python基础数据类型-字典(dict)
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版本的哟,请知晓。
一.字典的基本使用
#!/usr/bin/env python
#_*_coding:utf-8_*_
#@author :yinzhengjie
#blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
#EMAIL:y1053419035@qq.com UserInformation = {
"name":"yinzhengjie",
"heigh":"175cm",
"habby":"Skating"
} print(UserInformation.values()) #打印该字典的所有的value的值
print(UserInformation.keys()) #打印该字典的所有的keys值
print(UserInformation) #打印整个字典的信息
print("address" in UserInformation) #查找key名称是name所对应的value,如果有就返回其所对应的value,如果没有的话就不输出
UserInformation["name"] = "尹正杰" #修改一个字典中的一个key所对应的value值
print(UserInformation)
UserInformation["age"] = "" #如果该字典没有对应的key,就是新增了一个key信息
del UserInformation["name"] #删除该字典中的name这个key
UserInformation.pop("heigh") #删除该字典中的heigh
UserInformation.popitem() #随机删除该字典的一个Key信息
print(UserInformation) #以上代码执行结果如下:
dict_values(['yinzhengjie', '175cm', 'Skating'])
dict_keys(['name', 'heigh', 'habby'])
{'name': 'yinzhengjie', 'heigh': '175cm', 'habby': 'Skating'}
False
{'name': '尹正杰', 'heigh': '175cm', 'habby': 'Skating'}
{'habby': 'Skating'}
二.字典的进阶玩法
#!/usr/bin/env python
#_*_coding:utf-8_*_
#@author :yinzhengjie
#blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
#EMAIL:y1053419035@qq.com UserInformation = {
"name":"yinzhengjie",
"heigh":"175cm",
"habby":"Skating"
} AnotherUserInformation = {
"name":"jujingyi",
"RepresentativeWork":"热血长安",
"Occupation":"Singer",
"habby":"Go to karaoke"
}
list_1 = [1,2,2,3,3,4,4]
list_2 = [444,{"name":"yinzhengjie"},555]
print(UserInformation.setdefault("habby","GloryOfKings")) #该方法可以去取该字典是否存name这个值,如果存在就会返回后面定义的值,如果不存在就回新建一个key值对
print(UserInformation)
print(UserInformation.setdefault("MobileGames","GloryOfKings")) #该方法可以去字典去取相应的Key(MobileGames)值,如果没有取到(就说明没有定义这个key),也就是新建一个新的key值
print(UserInformation)
UserInformation.update(AnotherUserInformation) #该方法可以将另外一个字典中的key和value更新到这个字典中,如果出现相同的key的话会用后面的字典中的value更新现有的value哟,所以要谨慎使用!
print(UserInformation)
dictionaries = dict.fromkeys(list_1,list_2) #这里面有2个列表,会自动将前面的列表去重并将去重后的每一个元素生成一个字典中所对应的key.然后将后面的列表当成一个内存地址同时赋值给每一个key.
print(dictionaries)
dictionaries[3][1]["name"] ="尹正杰" #如果通过fromkeys定义生成的字典,修改其中任意一个key的值,那么所有的key的value都会跟着变化哟
print(dictionaries) #以上代码执行结果如下:
Skating
{'name': 'yinzhengjie', 'heigh': '175cm', 'habby': 'Skating'}
GloryOfKings
{'name': 'yinzhengjie', 'heigh': '175cm', 'habby': 'Skating', 'MobileGames': 'GloryOfKings'}
{'name': 'jujingyi', 'heigh': '175cm', 'habby': 'Go to karaoke', 'MobileGames': 'GloryOfKings', 'RepresentativeWork': '热血长安', 'Occupation': 'Singer'}
{1: [444, {'name': 'yinzhengjie'}, 555], 2: [444, {'name': 'yinzhengjie'}, 555], 3: [444, {'name': 'yinzhengjie'}, 555], 4: [444, {'name': 'yinzhengjie'}, 555]}
{1: [444, {'name': '尹正杰'}, 555], 2: [444, {'name': '尹正杰'}, 555], 3: [444, {'name': '尹正杰'}, 555], 4: [444, {'name': '尹正杰'}, 555]}
三.字典的遍历
#!/usr/bin/env python
#_*_coding:utf-8_*_
#@author :yinzhengjie
#blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
#EMAIL:y1053419035@qq.com UserInformation = {
"name":"yinzhengjie",
"heigh":"175cm",
"habby":"Skating"
} for i in UserInformation: # 打印字典中的没有个key和value,这种方法是最高效的
print(i, UserInformation[i]) print("我是分割线".center(50,"=")) for k, v in UserInformation.items(): # 这个循环会将字典先转换成一个列表,然后再打印出来,如果数据量较小的话和上面的循环的方法差不多,但是数据量比较大的话就麻烦了.
print(k, v) #以上代码执行结果如下:
name yinzhengjie
heigh 175cm
habby Skating
======================我是分割线=======================
name yinzhengjie
heigh 175cm
habby Skating
Python基础数据类型-字典(dict)的更多相关文章
- python基础之字典dict和集合set
作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7043642.html python基础之字典dict和集合set 字典dic ...
- Python基础数据类型(五) dict字典
字典dict{} 字典数字自动排序 enumerate 枚举 for i,k in enumerate(dic,1) #第二个参数默认不写就是0 ---枚举 print(i,k) dict,以{}来表 ...
- Python 基础数据类型之dict
字典是另一种可变容器模型,且可存储任意类型对象.字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:d = {k ...
- python基础类型(字典:dict)
字典的介绍: 字典(dict)Python中唯一的一个映射类型.他是以{}括起来的键值对组成,在dict中key是唯一的.在保存的时候,根据key来计算出一个内存地址,然后将key-value保存到这 ...
- python基础之字典dict
不可变数据类型:tuple.bool.int.str --可哈希类型可变数据类型:list.dict.set --不可哈希类型dict-key 必须是不可变数据类型,可哈希dict-value 任意数 ...
- python基础day6_字典dict
数据类型划分:可变数据类型.不可变数据类型 不可变数据类型(又叫可哈希):元祖,bool ,int,str, 可变数据类型(又叫不可哈希):list,dict,set(集合) dict的key必须是不 ...
- GoLang基础数据类型--->字典(map)详解
GoLang基础数据类型--->字典(map)详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 可能大家刚刚接触Golang的小伙伴都会跟我一样,这个map是干嘛的,是 ...
- Python 入门之Python基础数据类型及其方法
Python 入门之Python基础数据类型 1. 整型:int 用于计算,用于比较 (在赋值的时候先执行等号右边的内容) 1.1 整数的加 a = 10 b = 20 print(a + b) 结果 ...
- python基础之字典、集合
一.字典(dictionary) 作用:存多个值,key-value存取,取值速度快 定义:key必须是不可变类型,value可以是任意类型 字典是一个无序的,可以修改的,元素呈键值对的形式,以逗号分 ...
随机推荐
- [BZOJ2687]交与并[决策单调性]
题意 给定 \(n\) 个区间,我们定义区间集合 \(S(|S|>1)\) 的权值为 区间交 \(\times\) 区间并,找出权值最大的区间集合. \(n\le 10^6\) 分析 首先排除区 ...
- 从字节码层面,解析 Java 布尔型的实现原理
最近在系统回顾学习 Java 虚拟机方面的知识,其中想到一个很有意思的问题:布尔型在虚拟机中到底是什么类型? 要想解答这个问题,我们看 JDK 的源码是无法解决源码的,我们必须深入到 class 文件 ...
- CSS快速入门-基本选择器
1.标签选择器 通过标签进行元素选择. <style> a { font-size:10px; color:red; } </style> 2.* *代表通配符,匹配任意标签, ...
- Asp.Net_Mvc3.5语法_<%%>的用法
一. <%%>这种格式实际上就是和asp的用法一样的,只是asp中里面是vbscript或 者javascript代码,而在asp.net中用的是.net平台下支持的语言.特别 注意:服务 ...
- MFC学习笔记(一): 不用MFC向导如何新建一个MFC程序
使用Visual Studio新建一个空项目,项目命名为HelloMFC,完成后,打开项目属性页面,将配置属性选项卡中的常规项打开,将其中的MFC的使用属性栏改为:在静态库中使用MFC或者在共享DLL ...
- 安装loadrunner11出现Microsoft Visual c++2005 sp1安装失败
本文转至别处,网上大神多
- First day for introducing me
""" This is first python3 script code for lyp in Bokeyuan __author__="lyp" ...
- Apache Ignite 学习笔记(四): Ignite缓存冗余备份策略
Ignite的数据网格是围绕着基于内存的分布式key/value存储能力打造的.当初技术选型的时候,决定用Ignite也是因为虽然同样是key/value存储,它有着和其他key/value存储系统不 ...
- wpf-典型的mvvm模式通用中小型管理系统框架0
之前就一直在想着写这么一系列博客,将前段时间(也算有点久了)自己编写的一套框架分享下,和园子里的诸位大牛交流交流,奈何文思枯竭,提键盘而无从敲起,看来只有coding时才不会有这种裤子都脱了,才发现对 ...
- 【读书笔记】Linux内核设计与实现(第十八章)
18.1 准备开始 需要: 1.一个确定的bug.但是,大部分bug通常都不是行为可靠定义明确的. 2.一个藏匿bug的内核版本. 18.2 内核中的bug bug发作时的症状: 明白无误的错误代码( ...