Python基本序列-字典
Python 基本序列-字典
字典(dict)是"键-值 对"的无序可变序列,字典中的每个元素包含两部分,"键"和"值"。
字典中的"键"可以是Python中任意不可变的数据,但不能使用列表集合字典作为键,因为这些对象是可变的。
字典中的键不允许重复。
字典作为序列的一种,同样具有以下几个用法
- key in dict:检查dict中是否包含键为k的项
- len(d):返回d(字典对象)中项的数量;
但是也有些许不同
- 字典键的类型更丰富(任何不可变数据)
- 修改key对应的value,若key不存在,则直接创建
- key in dict 是根据“键”来判断是否在字典中,而不是值,也不是键值对
字典的创建:
1.直接创建
t = { "a" : 1, "b": 2 }
2.利用dict函数创建
# 第一种形式
d = dict (name = "dong", age = 37) # 注意这个地方键的字符串类型没加引号
print(d)
# 输出 {'age':37,'name':'dong'} # 第二种形式 搭配zip函数 将列表生成的元祖打包成字典
keys = ['a' , 'b' , 'c']
values = [1 , 2 , 3]
tuple_t = zip(keys, values)
print(tuple_t)
# 输出 (['a' , 'b' , 'c'], [1 , 2 , 3])
d = dict (tuple_t)
print(d)
# 输出 {'a' : 1 , 'b' : 2 , 'c' : 3}
字典的读取:
1.直接读取
dict_t = {'a' : 1 , 'b' : 2 , 'c' : 3}
print(dict_t[a])
# 输出 1
这种访问方式比较直接,但是不安全。如果指定的"键"不存在,则会抛出异常
2.利用get()函数间接读取
使用get()函数获取指定“键”对应的值,并且在“键”不存在时返回指定值,如果没有指定值,则默认返回None
dict_t = {'a' : 1 , 'b' : 2 , 'c' : 3}
print(dict_t.get('a'))
# 输出 1
print(dict_t.get('d'))
# 输出 None
print(dict_t.get('d', 'NOT FOUND'))
# 输出 'NOT FOUND'
3.利用items()方法返回一个字典的“键-值 对”列表(iteritems返回一个迭代器对象)
dict_t = {'a' : 1 , 'b' : 2 , 'c' : 3}
for i in dict_t.items():
print(i)
# 输出 ('a', 1)
# ('b', 2)
# ('c', 3)
同样,也可以利用keys(),values()分别返回两个键和值的列表进行访问(iterkeys() , itervalues()都返回一个迭代器对象,而不是列表)
4.利用pop()返回并删除一个指定"键"元素
dict_t = {'a' : 1 , 'b' : 2 , 'c' : 3}
t = dict_t.pop('c')
# 输出 3
print(t)
# 输出 {'a': 1, 'b': 2}
print(dict_t)
5.利用popitem()随机返回并删除一个元素
字典元素的修改与删除:
1.直接根据"键"来修改,若字典中该"键"不存在,则创建一个新的"键-值 对"
dict_t = {'a' : 1 , 'b' : 2 , 'c' : 3}
print(dict_t)
dict_t['d']=4
print(dict_t)
# 输出 {'a': 1, 'b': 2, 'c': 3, 'd': 4}
2.利用update(dict),将另一个字典的"键-值 对"一次性加到当前字典对象
dict_t = {'a' : 1 , 'b' : 2 , 'c' : 3}
t = {'d':4}
dict_t.update(t)
print(dict_t)
# 输出 {'a': 1, 'b': 2, 'c': 3, 'd': 4}
3.利用del()删除一个指定"键"元素
Python基本序列-字典的更多相关文章
- Python列表,元组,字典,序列,引用
1.列表 # Filename: using_list.py # This is my shopping list shoplist=["apple", "mango&q ...
- python学习笔记(一)元组,序列,字典
python学习笔记(一)元组,序列,字典
- Python数据类型(字典和集合)
1.5 Dictionary(字典) 在Python中,字典用放在花括号{}中一系列键-值对表示.键和值之间用冒号分隔,键-值对之间用逗号分隔. 在字典中,你想存储多少个键-值对都可以.每个键都与一个 ...
- python入门14 字典dict
字典dict是无序的key:value格式的数据序列 #coding:utf-8 #/usr/bin/python """ 2018-11-11 dinghanhua 字 ...
- Python基础知识---字典
现在在实习期间,好久没用Python了,今天在做Java项目时用的HashMap让我联想到了Python中的字典,就写一些Python字典的知识吧,复习复习. 字典: key --> valu ...
- python基础之字典dict和集合set
作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7043642.html python基础之字典dict和集合set 字典dic ...
- python中 字符 字典 列表之间的转换
1 字典 转 字符 定义一个字典:dict = {'name': 'python', 'age': 7}字典转字符 可以使用str强制转换 如: str(dict) 此时dict的类型就是字符型了 2 ...
- python集合与字典的用法
python集合与字典的用法 集合: 1.增加 add 2.删除 •del 删除集合 •discard(常用)删除集合中的元素 #删除一个不存在的元素不会报错 •remove 删除一个不存在的 ...
- python之路--字典
一. 字典 字典是以key:value的形式来保存数据的,用{}表示 字典的增删改查 字典的增加 dic = {"意大利": "李云龙", "美国&q ...
随机推荐
- 火影忍者之~鸣人 (字符串处理,strcmp)
火影忍者的男主角漩涡鸣人,因为身上封印着邪恶的九尾妖狐,无父无母的他受尽了村人的冷眼与歧视,他下定决心要成为第六代火影,让所有人都认同他的存在,火影是动漫火影忍者中主人公鸣人所在的国家的最强忍者的头衔 ...
- eclipse ndk 配置和简单开发demo
记录下以备忘: android开发的各种资源国内镜像 http://www.androiddevtools.cn/ 前端时间尝鲜用android stuido1.5开发了个android的小项目,发现 ...
- 第2课:jmeter总结、Charles抓包
1. tps(throughput):每秒钟处理的事务数(请求数),定义与qps类似(qps:每秒完成的请求个数.) 响应时间(average):每个请求的平均响应时间 2. jmeter实现下载 ...
- 重构Java代码的既有设计-影片出租店
案例:计算每位顾客的消费金额并打印详细信息.顾客租赁了哪些影片,租期多长,根据租赁时间和影片类型计算出费用.影片分为3类:儿童片,新片,普通片.此外需计算该顾客的积分. Movie: public c ...
- Scrapy爬虫库使用初体验
安装pip install Scrapy 中间可能会遇到的问题: 超时,网络问题需要多次尝试 缺少vc++库,官网可以下载 win32api缺失,https://sourceforge.net/pro ...
- mysql在innodb索引下b+树的高度问题。
B+树索引介绍 B+树索引的本质是B+树在数据库中的实现.但是B+树索引有一个特点是高扇出性,因此在数据库中,B+树的高度一般在2到3层.也就是说查找某一键值的记录,最多只需要2到3次IO开销.按磁盘 ...
- JVM原理二----JAVA虚拟机体系结构
组成: 指令集,寄存器,栈,无用单元收集(GC),方法区域.JAVA核心 1,指令集:这个不太清楚 2,寄存器:和处理器中的寄存器类似 pc:Java程序计数器. optop:指向*作数栈顶端的指针. ...
- 微信小程序异常解析
文件解析错误 SyntaxError: Unexpected end of JSON input: 在子目录下添加空白的json配置文件是会出现报错,其原因是因为文件内容空白 pages/index/ ...
- 每天一个linux命令:【转载】mv命令
mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录. 1.命令格式: mv [选项] 源文件或目 ...
- Flask第三篇——安装Flask
现在我们来安装Flask: Windows系统安装Flask 如果你的系统是Windows,那安装起来非常方便——pip install flask Mac系统安装Flask Mac安装Flask一般 ...