Python基础笔记系列六:字典
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!!
- 字典
字典的元素是由一对对键值对组成,每一对之间用逗号隔开,将所有的键值对用花括号括起来就构成了字典。它是无序的,键和值之间用冒号隔开。
语法格式:dic_name={key:value,key:value,key:value}
简单来说:
1.类似于json,也就是key-value键值对
2.不允许同一个键值出现两次,所以一般对字典的操作都是对键进行操作。
3.键必须不可变,所以可以用数字,字符串,元组充当,而不能用列表
例如:dic={"key1":"value1","key2":"value2","key3":"value3"} #定义字典1.字典的基础操作
1)可以增加、删除、修改、访问字典中的元素。同样也可以求字典的长度。
例子:dic={"key1":"value1","key2":"value2","key3":"value3"} #定义字典
print dic #打印整个字典
print dic["key2"] #根据key找value del dic['key1'] #根据key删除元素(通过键删除一个键值对)
print dic dic['key4']="value4" #可以直接添加一个原字典里没有的元素(key不存在就行)
print dic dic["key2"]=45678 #修改字典中的某值
print dic #打印整个字典 print len(dic) #字典的长度输出:
{'key3': 'value3', 'key2': 'value2', 'key1': 'value1'}
value2
{'key3': 'value3', 'key2': 'value2'}
{'key3': 'value3', 'key2': 'value2', 'key4': 'value4'}
{'key3': 'value3', 'key2': 45678, 'key4': 'value4'}
32)也可以通过字典的in运算对字典进行遍历(其实是用的for循环),也可以用来判断某个键是否在字典中。
例子:
dic={"key1":"value1","key2":"value2","key3":"value3"} #定义字典
for key in dic:
print key,dic[key] #遍历字典并输出 print 'key1' in dic #判断键值为key1是否存在于字典中
print 'key5' in dic输出:
key3 value3
key2 value2
key1 value1
True
False2.字典的相关函数
1)字典复制copy函数:字典的copy方法可以新建一字典与拷贝对象里的数据项一样。
例子:dic={"key1":"value1","key2":"value2","key3":"value3"} #定义字典
dic1 = dic.copy() #字典复制
print dic
print dic1
del dic1['key3'] #dic1是dic的一个副本,对dic1进行操作不影响dic
print dic
print dic1输出:
{'key3': 'value3', 'key2': 'value2', 'key1': 'value1'}
{'key3': 'value3', 'key2': 'value2', 'key1': 'value1'}
{'key3': 'value3', 'key2': 'value2', 'key1': 'value1'}
{'key2': 'value2', 'key1': 'value1'}2)字典的get函数和update函数:dic_name.get(key_name)函数等价于dic_name[key_name]用来获取某键对应的值。update(key_value)函数用来更新字典里对应Key的值,如果要更新的key在字典里不存在,则update就向字典里增加数据。
例子:dic={"key1":"value1","key2":"value2","key3":"value3"} #定义字典
print dic
print dic.get('key1') #相当于dic['key1']
dic.update({'key1':'value8'}) #更新key1的值
print dic
dic.update({'key5':'value9'}) #增加key5
print dic输出:
{'key3': 'value3', 'key2': 'value2', 'key1': 'value1'}
value1
{'key3': 'value3', 'key2': 'value2', 'key1': 'value8'}
{'key3': 'value3', 'key2': 'value2', 'key1': 'value8', 'key5': 'value9'}3)字典里的keys()、values()、items()函数:他们返回的都是一个列表。keys()获取字典的所有Key,values()获取字典的所有value,items()获取字典的key,value值。
例子:dic={"key1":"value1","key2":"value2","key3":"value3"} #定义字典
print dic
print dic.keys() #获取所有的Key
print dic.values() #获取所有的value
print dic.items() #获取所有的key,value输出:
{'key3': 'value3', 'key2': 'value2', 'key1': 'value1'}
['key3', 'key2', 'key1']
['value3', 'value2', 'value1']
[('key3', 'value3'), ('key2', 'value2'), ('key1', 'value1')]4)字典dict()函数:创建字典的函数
例子:d0 = dict() #创建空字典
print d0 d1 = dict(a='',b=456) #通过赋值创建字典 ,key不能加引号,value如果是字符串就要加引号,是数字可以不加
print d1 key = range(1,3)
value = ['john','Tom','Jack']
d2 = dict(zip(key,value)) #通过一对列表创建字典
print d2输出:
{}
{'a': '', 'b': 456}
{1: 'john', 2: 'Tom'}4)字典的pop()、popitem()和clear()函数:pop()函数用于通过key来获取其value值并从字典里删除该数据项。popitem()函数随机移除一个数据项并返回移除的数据项(元组形式返回)。clear()函数用于清除字典数据项。
例子:dic={"key1":"value1","key2":"value2","key3":"value3","key4":"value4","key5":"value5"} #定义字典
print dic print dic.pop('key2') #删除key2并返回Key2对应的value值
print dic
print dic.popitem() #随机删除一对数据项,并以元组形式返回该数据项
print dic dic.clear() #清空字典的条目
print dic输出:
{'key3': 'value3', 'key2': 'value2', 'key1': 'value1', 'key5': 'value5', 'key4': 'value4'}
value2
{'key3': 'value3', 'key1': 'value1', 'key5': 'value5', 'key4': 'value4'}
('key3', 'value3')
{'key1': 'value1', 'key5': 'value5', 'key4': 'value4'}
{}字典还有很多函数,这里只是冰山一角,其它的可以查文档哦~
Python基础笔记系列六:字典的更多相关文章
- Python基础笔记系列十一:标准输入输出、文件读写和指针等操作
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 标准输入输出一.输入 在sublime中这个时候需要安装SublimeRE ...
- Python基础笔记系列一:基本工具与表达式
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 工具基础(Windows系统下)传送门:Python基础笔记系列四:工具的 ...
- Python基础笔记系列九:变量、自定义函数以及局部变量和全局变量
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 变量在前面的系列中也许就可以发现,python中的变量和C中的变量有些许不 ...
- Python基础笔记系列三:list列表
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! python中的list列表是一种序列型数据类型,一有序数据集合用逗号间隔 ...
- Python基础笔记系列十四:python无缝调用c程序
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! python语言可以对c程序代码进行调用,以弥补python语言低性能的缺 ...
- Python基础笔记系列十三:socket网络编程
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!!使用python编写一个简易的服务端程序和客户端程序,启动服务端和客户端(监 ...
- Python基础笔记系列十二:requests模块的简单应用
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! httpbin httpbin这个网站能测试 HTTP 请求和响应的各种信 ...
- Python基础笔记系列十:模块
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 模块 #1.类比于java中的jar包,模块能让你能够有逻辑地组织你的Py ...
- Python基础笔记系列八:字符串的运算和相关函数
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 字符串的运算1.字符串的加法和乘法 python中不但支持字符串相加,还支 ...
随机推荐
- 读 下一代SOA 服务技术与面向服务简明指南
面向服务的八个设计原则 标准化服务合同 在同一个服务仓库中的服务都符合同样的合同设计标准 服务松耦合 服务合同施加了消费者低耦合的要求,而它们自己也与周围的环境脱钩 服务抽象 服务合同只包含基本信息, ...
- c#学习笔记之使用 TableLayoutPanel 控件设置窗体布局
使用 TableLayoutPanel 控件设置窗体布局 在 Visual Studio IDE 左侧,找到“工具箱”选项卡. 选择“工具箱”选项卡,随即将显示工具箱.(或者,在菜单栏上,依次选择“视 ...
- Logon Session Times
How to Get User Logon Session Times from the Event Log To figure out user session time, you’ll first ...
- 如何让socket编程非阻塞?
import socket # 创建socket client = socket.socket() # 将原来阻塞的位置变成非阻塞(报错) client.setblocking(False) # 百度 ...
- eclipse导入项目,项目名出现红叉的情况(修改版)
转至:http://blog.csdn.net/niu_hao/article/details/17440247 今天用eclipse导入同事发给我的一个项目之后,项目名称上面出现红叉,但是其他地方都 ...
- Redis四(Set操作)
1.Set操作 Set集合就是不允许重复的列表 集合操作(无序) sadd(name,values) 1 # name对应的集合中添加元素 scard(name) 1 获取name对应的集合中元素个数 ...
- Elasticsearch中文搜索环境搭建
Elasticsearch是一个建立在全文搜索引擎 Apache Lucene™ 基础上的搜索引擎,功能强大,最近刚好要研究搜索这一块,简要记录备日后查阅 安装Java JDK,由于Lucene是用J ...
- vue-router路由器的使用
一. vue-router路由 1.简介 1.为什么要用vue-router 使用Vue.js开发SPA(Single Page Application)单页面应用 2.什么是单页面应用 根据不同ur ...
- 阿里、腾讯、京东、微软,各家算法&数据挖掘岗位面经大起底!
阿里.腾讯.京东.微软,各家算法&数据挖掘岗位面经大起底! 2016-02-24 36大数据 36大数据 作者: 江少华 摘要: 从2015年8月到2015年10月,花了3个月时间找工作,先后 ...
- testng xml配置文件
简单介绍 运行TestNG测试脚本有两种方式:一种是直接通过IDE运行(例如使用eclipse中的“Run TestNG tests”),另一种是从命令行运行(通过使用xml配置文件).当我们想执行某 ...