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)的更多相关文章

  1. python基础之字典dict和集合set

    作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7043642.html python基础之字典dict和集合set 字典dic ...

  2. Python基础数据类型(五) dict字典

    字典dict{} 字典数字自动排序 enumerate 枚举 for i,k in enumerate(dic,1) #第二个参数默认不写就是0 ---枚举 print(i,k) dict,以{}来表 ...

  3. Python 基础数据类型之dict

    字典是另一种可变容器模型,且可存储任意类型对象.字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:d = {k ...

  4. python基础类型(字典:dict)

    字典的介绍: 字典(dict)Python中唯一的一个映射类型.他是以{}括起来的键值对组成,在dict中key是唯一的.在保存的时候,根据key来计算出一个内存地址,然后将key-value保存到这 ...

  5. python基础之字典dict

    不可变数据类型:tuple.bool.int.str --可哈希类型可变数据类型:list.dict.set --不可哈希类型dict-key 必须是不可变数据类型,可哈希dict-value 任意数 ...

  6. python基础day6_字典dict

    数据类型划分:可变数据类型.不可变数据类型 不可变数据类型(又叫可哈希):元祖,bool ,int,str, 可变数据类型(又叫不可哈希):list,dict,set(集合) dict的key必须是不 ...

  7. GoLang基础数据类型--->字典(map)详解

    GoLang基础数据类型--->字典(map)详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.   可能大家刚刚接触Golang的小伙伴都会跟我一样,这个map是干嘛的,是 ...

  8. Python 入门之Python基础数据类型及其方法

    Python 入门之Python基础数据类型 1. 整型:int 用于计算,用于比较 (在赋值的时候先执行等号右边的内容) 1.1 整数的加 a = 10 b = 20 print(a + b) 结果 ...

  9. python基础之字典、集合

    一.字典(dictionary) 作用:存多个值,key-value存取,取值速度快 定义:key必须是不可变类型,value可以是任意类型 字典是一个无序的,可以修改的,元素呈键值对的形式,以逗号分 ...

随机推荐

  1. ubuntu下安装搜狗输入法

    1.如果系统中未安装依赖fcitx,libssh2-1,或者依赖fcitx,libssh2-1的版本低的话,则需提前安装或者升级,否则安装输入法时会出错 安装命令 sudo apt-get insta ...

  2. 记录下安装ES过程中遇到的错误及解决

    1.集群配置 需要修改 cluster.name .node.name .network.host: 0.0.0.0[此处默认localhost].http.port: 9200 只要集群名相同,且机 ...

  3. 设计模式 笔记 单例模式 Singleton

    //---------------------------15/04/09---------------------------- //Singleton 单例模式-----对象创建型模式 /* 1: ...

  4. Jq_打印

     利用IE自带的WebBrowser进行打印  打印判断: if(factory.object)//打印设置的判断 factory.printing.PageSetup(); else alert(& ...

  5. 小白之selenium+python关于cookies绕开登录1

    cookie是存储在本地浏览器目录的一些信息,详细一点的话可以查看度娘,按照我的理解就是将信息存储在本地,访问网站的时候,网站的服务器会优先读取本地目录位置的信息,然后做出相对的反应.这就是为什么有的 ...

  6. OpenGL(3)-三角形

    写在前面 从这节开始,会接触到很多基本概念,原书我也是读了很多遍,一遍一遍去理解其中的意思,以及他们之间的关系. 概念 顶点数组对象:VAO 顶点缓冲对象:VBO 索引缓冲对象:EBO|IBO Ope ...

  7. Bootstrap 样式设计 栅格系统

    .col-xs- 超小屏幕 手机 (<768px) .col-sm- 小屏幕 平板 (≥768px) .col-md- 中等屏幕 桌面显示器 (≥992px) .col-lg- 大屏幕 大桌面显 ...

  8. one team

    Double H Team 1.队员 王熙航211606379(队长) 李冠锐211606364 曾磊鑫211606350 戴俊涵211606359 聂寒冰211606324 杨艺勇211606342 ...

  9. 20135323符运锦----第三周:构建一个简单的Linux系统MenuOS

    相关知识点 1.arch目录 占据相当庞大的空间,X86目录下代码需要重点关注. 2.init目录 内核启动的相关代码基本都在此目录下,内含MAIN.C,文件中START_KERNEL是整个LINUX ...

  10. Beta冲刺——day6

    Beta冲刺--day6 作业链接 Beta冲刺随笔集 github地址 团队成员 031602636 许舒玲(队长) 031602237 吴杰婷 031602220 雷博浩 031602134 王龙 ...