dict字典
dict字典
字典的概述
• 概述:使⽤键-值(key-value)⽅式存储。
• key的特点: • 1、字典中的key必须是唯⼀的
• 2、key值必须是不可变的数据类型:字符串、元组、Number
• 3、list是可变的,不能作为key值使⽤
• 4、value:可以是任意类型的数据,可以重复。
• 本质:⼀种⽆序的集合。
注:字典是可变的数据
字典的创建
key:不可用可变数据类型(可用string,Number,bool,none(不推荐用))
value:python支持的数据类型均可
# 1、创建⼀个带有5个元素的字典
dic1 = {"Lily":98, "Tom":67, "Lucy":98, "Hmm":45, "Lilei":45}
print(dic1)
print(type(dic1)) # dict
# 2、创建⼀个空字典
dic2 = {}
print(dic2)
# 3、创建⼀个只有⼀个元素的字典
dic3 = {"a" : "abc"}
print(dic3)
字典的访问
两种value方式:
1. 字典名[key] 注:当key在字典中不存在,报错
2. 字典名.get(key) 注:当key不存在,返回none
# 1.获取value 方式一 字典名【key】
# 注:当key中不存在,报错
dict1 = {"a": 1, "b": 2, "c": 3}
print(dict1["a"]) # 2.获取value 方式二 dict1.get(key)
# 注: 当key中不存在,返回none
dict2 = {"a": 1, "b": 2, "c": 3}
print(dict2.get("a"))
print(dict2.get("adsd")) # none
判断元素是否存在字典中
利用 in 或者 not in 返回值类型为bool
dict1={"a":21,"sd":121}
print("b" in list(dict1.keys())) #True
print("b" not in list(dict1.keys())) #False
print("b" in list(dict1.keys())) #False
print("b" not in list(dict1.keys())) #True
字典的操作
字典添加元素 字典名[新的key]=新的value
删除字典中指点key的元素 字典名称.pop(key值)
修改元素 字典名[key]=value
dict2 = {"a": 1, "b": 2, "c": 3}
print(dict2)
# 1 增 格式:字典名称[新的key]=新的value
dict2["as"] = 45
print(dict2)
# 2 删 格式:字典名称.pop(key值)
dict2.pop("a")
print(dict2)
# 3 改 格式:字典名称[key]=value
# key值被删除时,value值也会被删除
dict2["as"] = 66
print(dict2)
# 4查
print(dict2["b"])
print(dict2.get("b"))
# 5其他
print(len(dict2))
字典遍历
dict.keys() 返回字典中所有的key值
dict.values() 返回字典中所有的value值
dict.items() 返回字典中所有的key及value值的列表 每个元素为一个元组,元组第一个元素为key,第二个元素为value
# 1、遍历
for key in dict1:
print(key, dict1[key]) # 2.dict.keys() 返回字典中所有的key值 (列表类型)
print(dict2.keys())
keylist = dict2.keys()
for key in keylist:
print(key)
print(dict2[key]) # 3.字典名.values() 返回字典中所有的value值 (列表类型)
print(dict2.values())
for value in dict2.values():
print(value) # 4.字典名.items() 返回字典中所有的key及value值(列表类型,列表类型)
# 中的元素为元组类型,元组的第一个元素为key,第二个为value
print(dict2.items())
for key, value in dict2.items():
print(key, value) # 5.字典模拟json
list = [{'appname': "", "price": 12, "datetime": "2019-12-2"}
, {'appname': "ssds", "price": 13, "datetime": "2019-3-2"}]
for i in list:
print(i["appname"])
dict字典的更多相关文章
- 1.12 dict 字典表
dict 字典表属于映射分类 dict的声明 >>> #dict类型 是 {}中包含若干个键值对 >>> d = dict() >>> d = { ...
- 数据类型:list列表[]、元祖tuple()、dict字典{}
List 列表[] 可变的 lst = [1,2,3,4] #改 lst[(元素下标)] = '需要修改的' #通过下表修改 lst[下标:下标] = '需要修改的' #通过范围修改 #加 lst.a ...
- Python数据类型的内置函数之tuple(元组),dict(字典),set(集合)
Python数据类型内置函数 - str(字符串) - list(列表) - tuple(元组) - dict(字典) - set(收集) tuple(元组)的操作 - (count)统计元组中元素出 ...
- 列表 list 容器类型数据(str字符串, list列表, tuple元组, set集合, dict字典)--->元组 tuple-->字符串 str
# ### 列表 list 容器类型数据(str字符串, list列表, tuple元组, set集合, dict字典) # (1)定义一个列表 listvar = [] print(listvar, ...
- python的dict()字典数据类型的方法详解以及案例使用
一.之前的回顾 # int 数字 # str 字符串 # list 列表 # tuple 元组 # dict 字典 字典中最重要的方法 keys() values() items() get upd ...
- Python 全栈开发:dict(字典)常用方法操作、dict嵌套
数据类型的划分:可变数据类型和不可变数据类型. 不可变数据类型(可哈希):元祖.bool.int.str 可变数据类型(不可哈希):list.dict,set(集合) dict(字典): dict(字 ...
- [Python] dict字典的浅复制与深复制
Python中针对dict字典有两种复制: (1)浅复制:利用 copy() 或者 dict() :复制后对原dict的内部子对象(方括号[]内元素)进行操作时,由浅复制得到的dict会受该操作影响 ...
- dict 字典的常用操作
#dict 字典的常用操作: id_db.get() #获取 id_db.update() #更新(覆盖)字典 id_db.values() #打印字典里所有的values id_db.keys() ...
- Python基础数据类型(五) dict字典
字典dict{} 字典数字自动排序 enumerate 枚举 for i,k in enumerate(dic,1) #第二个参数默认不写就是0 ---枚举 print(i,k) dict,以{}来表 ...
- 有关于dict(字典)的特性与操作方法
有关于dict(字典)的特性与操作方法 1.字典的特性 语法: dic = {key1 : value1,key2 : value2,key3 : value3............} 注:字典中k ...
随机推荐
- Android自定义view绘图
一.新建一个视图类,继承自View,重写OnDraw()函数,在函数内绘图 public class myView extends View {//新建一个视图类,继承自View myView(Con ...
- [信息收集]Nmap命令详解
0x00[介绍] Nmap,也就是Network Mapper,中文为"网络映射器". Nmap是一款开源的网络探测和安全审核的工具,它的设计目标是快速地扫描大型网络. 它是网络管 ...
- C#读写三菱PLC数据 使用TCP/IP 协议
本文将使用一个Github开源的组件库技术来读写三菱PLC和西门子plc数据,使用的是基于以太网的TCP/IP实现,不需要额外的组件,读取操作只要放到后台线程就不会卡死线程,本组件支持超级方便的高性能 ...
- rsyslog使用简介
1 把日志打到新的日志文件里面 #### RULES ####ruleset(name="remote"){ action(type="omfile" file ...
- postgresql 的 .pgpass密码文件的使用
pgpass 是 连接 postgresql 时使用的密码文件,通常位置为 ~/.pgpass.在使用某些组件时还真的必须使用.具体的格式为: hostname:port:database:usern ...
- WindowsForm客户端自动更新逻辑
启动客户端的时候,单独开一个线程,该线程主要是判断指定服务器上的更新包和本地使用的客户端是否一致,是否需要更新,不需要更新,则退出,需要更新则从服务端的下载更新包,然后提示用户是否更新,点击更新,启动 ...
- PowerDesigner 使用小结
这里总结一篇关于数据建模工具 PowerDesigner 的使用小技巧,下面列出的两个应用场景要在网上现找解决方案的话还真不一定好找,所以选择将这两个棘手的问题先记下来. 1. PDM 中表间关系出现 ...
- Tomcat中配置URIEncoding="UTF-8"来处理中文的处理
Tomcat中配置URIEncoding="UTF-8"来处理中文的处理 打开 server.xml 文件,更改两个地方. 配置一:添加 URIEncoding="UTF ...
- Kafka、RabbitMQ、RocketMQ、ActiveMQ消息中间件的对比--多年生产经验实践总结
引言 分布式系统中,我们广泛运用消息中间件进行系统间的数据交换,便于异步解耦.现在开源的消息中间件有很多,前段时间我们自家的产品 RocketMQ (MetaQ的内核) 也顺利开源,得到大家的关注. ...
- Intel AI Cloud 使用
1.申请AI Cloud A ‘training-ready’ hardware like Amazon® EC2, Intel® AI DevCloud, or a GPU-based system ...