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可以是任意类型 字典是一个无序的,可以修改的,元素呈键值对的形式,以逗号分 ...
随机推荐
- 搭建django虚拟环境完整步骤
一.建立虚拟环境 pip install virtualenv 要使用Django,首先要建立一个虚拟工作环境.我们先为项目建立一个文件夹learn,在文件夹中打开命令行(shift+右击),来建立另 ...
- Java设计模式-建造者(Builder)模式
目录 由来 使用 1. 定义抽象 Builder 2. 定义具体 Builder类 3. 定义具体 Director类 4. 测试 定义 文字定义 结构图 优点 举例 @ 最近在看Mybatis的源码 ...
- C# Language Specification 5.0 (翻译)第三章 基本概念
应用程序启动 拥有进入点(entry point)的程序集称应用程序(application).当运行一应用程序时,将创建一新应用程序域(application domain).同一个应用程序可在同一 ...
- effective c++ 笔记 (26-29)
//---------------------------15/04/09---------------------------- //#26 尽可能延后变量定义式的出现时间 { /* 1:只要 ...
- [转载] 相机越贵画质越好?聊聊CMOS设计
似乎在很多人心目中,个位数机身就代表了品牌最强成像素质,这或许有“人不识货钱识货”的道理在作祟,但事实上如佳能1DX2或尼康D5,又或是索尼A9这种旗舰机真的就一定能代表本家的画质巅峰么?这一切都得从 ...
- web api token验证理解
最近一直在学习web api authentication,以Jwt为例,可以这样理解,token是身份证,用户名和密码是户口本,身份证是有有效期的(jwt 有过期时间),且携带方便(自己带有所有信息 ...
- Quartz带参数任务的创建与修改
需求背景:创建的quartz任务需要用到三个参数,根据参数去执行并将结果入库,并且参数可修改更新. 这里,有三个参数需要传入,分别是planId.target.officeId 定义Job类: pub ...
- VMware 虚拟机CentOS 7 网路连接配置 无eth0简单解决办法
个人博客:http://www.cnblogs.com/miaojinmin799/ 在前面几步基本和网上linux配置差不多,最后一步要配置eth0时出现如图所示结果使用ifconfig -a命令 ...
- C语言版本:顺序表的实现
seqlist.h #ifndef __SEQLIST_H__ #define __SEQLIST_H__ #include<cstdio> #include<malloc.h> ...
- 冲刺Two之站立会议6
今天继续了昨天的工作,对视频进行优化.因为昨天的工作没有达到预期的效果,所以又继续对音质和画面质量做了相应的优化.还对相应的聊天室界面进行了优化.