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 ...
随机推荐
- yy
sudo rm -rf /var/cache/apt/archives/python-catkin-pkg-modules_0.4.12-1_all.deb sudo rm -rf /var/cach ...
- Linux中查看某个端口占用情况
譬如在linux中排查某个端口是否被占用,可以通过如下命令进行排查,排查方法如下: 1: 排查 : 应用是否被人debug. 8787 为端口号 netstat -anp |grep 8787 图中 ...
- zabbix (三) 所需磁盘容量计算
一.zabbix 磁盘容量大小 zabbix的数据库大小取决于NVPS(new values per second)大小,NVPS从总体上反应了处理速度,与监控项的数目,监控项的类型,取值间隔,His ...
- TTFB 时间过长
记录一个问题吧. 新上线的应用,第一次上线部署了两个节点,通过DMZ的NGINX映射出去的. 上线之后,第三天突然发现访问很慢,有50%的几率保持在7秒左右,通过日志平台观察代码处理时间在40ms左右 ...
- OpenResty之ngx.var.VARIABLE
1. ngx.var.VARIABLE syntax: ngx.var.VAR_NAME context: set_by_lua*, rewrite_by_lua*, access_by_lua*, ...
- 【转载】 AutoML技术现状与未来展望
原文地址: https://www.cnblogs.com/marsggbo/p/9309520.html ---------------------------------------------- ...
- python mysql使用问题
(deeplearning2) userdeMBP:ageAndGender user$ python Python |Anaconda, Inc.| ( , ::) [GCC Compatible ...
- Greenwich.SR2版本的Spring Cloud Zuul实例
网关作为对外服务,在微服务架构中是一个很重要的组件,主要体现在动态路由和接入鉴权这两个功能上.现在我们通过Spring Cloud Zuul来实现对之前a-feign-client(参见Greenwi ...
- 阶段5 3.微服务项目【学成在线】_day16 Spring Security Oauth2_06-SpringSecurityOauth2研究-Oauth2授权码模式-申请令牌
3.3 Oauth2授权码模式 3.3.1 Oauth2授权模式 Oauth2有以下授权模式: 授权码模式(Authorization Code) 隐式授权模式(Implicit) 密码模式(Reso ...
- PAT 甲级 1039 Course List for Student (25 分)(字符串哈希,优先队列,没想到是哈希)*
1039 Course List for Student (25 分) Zhejiang University has 40000 students and provides 2500 cours ...