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 ...
随机推荐
- 超轻量级虚拟终端sakura和tilda
一.安装: manjaro:pacman -S sakura ubunt:sudo apt install sakura 小当然是他的最大优点了,虽小但是功能挺全 可以同时打开好多个终端,termin ...
- Ubuntu16.04 apache2+php7.0+mysql5.7环境搭建
今天配置一下web环境,很常见的apache+php+mysql的网站环境: 步骤一:安装apache sudo apt install apache2 步骤二:安装php7 1.安装PHP7和响应的 ...
- 使用Redis sorted set实现集合设置member过期
在我们日常工作中,有许多这种逻辑 例如需要得到最近三分钟的cache list. 例如我们监控系统需要查询最近一分钟的数据. 总结说来就是 需要一个list存储对象,并且这个对象会无限制增长,需要设置 ...
- pimpleFoam求解器 vs simpleFoam求解器 vs pisoFoam求解器 vs icoFoam
翻译自:CFD-online 帖子地址:http://www.cfd-online.com/Forums/openfoam-solving/68072-pimplefoam-vs-simplefoam ...
- ES里设置索引中倒排列表仅仅存文档ID——采用docs存储后可以降低pos文件和cfs文件大小
index_options The index_options parameter controls what information is added to the inverted index, ...
- 走进JavaWeb技术世界13:Hibernate入门经典与注解式开发
原文地址:Hibernate入门这一篇就够了 前言 本博文主要讲解介绍Hibernate框架,ORM的概念和Hibernate入门,相信你们看了就会使用Hibernate了! 什么是Hibernate ...
- 上传图片获取base64编码、本地预览
一.读取文件的对象 — new FileReader() 上传图片接口参数有图片base64编码(数组, imgBase64List ),主要用到 读取文件的对象 [ new FileReader ...
- uboot自定义添加命令
1.添加命令 1.u-boot的命令格式: U_BOOT_CMD(name,maxargs,repeatable,command,”usage”,"help") name:命令的名 ...
- Strin类
常见构造方法 • public String():空构造 • public String(byte[] bytes):把字节数组转成字符串 • public String(byte[] bytes,i ...
- [Java复习] 分布式锁 Zookeeper Redis
一般实现分布式锁都有哪些方式? 使用 Redis 如何设计分布式锁?使用 Zookeeper 来设计分布式锁可以吗? 这两种分布式锁的实现方式哪种效率比较高? 1. Zookeeper 都有哪些使用场 ...