字典的定义和操作

字典的特性:

元素数量 支持多个
元素类型

key :value

key:除字典外的任何类型

Value:任何类型

下标索引 不支持
重复元素 key不支持
可修改性 支持
数据有序
使用场景 以key检索value的数据类型
# 定义字典
my_dict1 = {"王力宏":99,"周杰伦":88,"林俊杰":77}
# 定义空字典
my_dict2 = {}
my_dict3 = dict()
print(f"字典1的内容是:{my_dict1},类型:{type(my_dict1)}")
print(f"字典2的内容是:{my_dict2},类型:{type(my_dict2)}")
print(f"字典3的内容是:{my_dict3},类型:{type(my_dict3)}") # 定义重复key的字典(没用)
my_dict1 = {"王力宏":99,"王力宏":99,"林俊杰":77}
print(f"重复key的字典的内容是:{my_dict1}") # 从字典中基于key获取value
my_dict1 = {"王力宏":99,"周杰伦":88,"林俊杰":77}
score = my_dict1["王力宏"]
print(f"王力宏的考试分数是:{score}") # 定义嵌套字典
stu_score_dict = {
"王力宏":{
"语文":77,
"数学":66,
"英语":33
},"周杰伦":{
"语文": 12,
"数学": 34,
"英语": 66
},"林俊杰":{
"语文": 41,
"数学": 78,
"英语": 99
}
} print(stu_score_dict) # 从嵌套字典中获取数据
score = stu_score_dict["周杰伦"]["语文"]
print(f"周杰伦的语文成绩为:{score}") my_dict = {"王力宏": 99, "周杰伦": 88, "林俊杰": 77}
# 新增元素
my_dict["陶喆"] = 100
print(f"字典经过新增元素后,结果:{my_dict}")
# 更新元素
my_dict["王力宏"] = 1
print(f"字典经过更新后:{my_dict}")
# 删除元素
socre = my_dict.pop("周杰伦")
print(f"字典删除元素后:{my_dict},删除的value:{socre}")
# 清空元素,clear
my_dict.clear()
print(f"字典被清空了,内容是:{my_dict.clear()}") # 获取全部的key
my_dict = {"王力宏": 99, "周杰伦": 88, "林俊杰": 77}
keys = my_dict.keys()
print(f"字典的全部keys是:{keys},类型是:{type(keys)}") # 遍历字典
# 方式一:通过获取到全部的key来完成遍历
for key in keys:
print(f"字典的key是:{key}")
print(f"字典的value是:{my_dict[key]}") # 方式二:直接对字典进行for循环,每一次循环都是直接得到key
for key in my_dict:
print(f"字典2的key是:{key}")
print(f"字典2的value是:{my_dict[key]}") # 统计字典内的元素数量,len()函数
num = len(my_dict)
print(f"字典中的元素数量有:{num}个") # 字典推导式 {key:value for 循环 if}
lit = ["hi",'qwe','asd']
d = {i:lit[i] for i in lit}
print(d)

python基础-字典dict {key:value }的更多相关文章

  1. python基础——字典dict

    1.概念: (1)字典dict,是一系列的键—值对.每个键key都和一个值value相映射.(字典是python中唯一的映射类型.) (2)每一项item,是一个键值对key—value对. (3)键 ...

  2. python基础——字典(dict)

    字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 . dict1 = {} ...

  3. python基础-字典dict

    字典-dict 用途: 定义方法:通过{} 来存储数据,通过key:value (键值对)来存储数据,每个键值对通过逗号分隔.在键值对中,key 是不可变的数据类型,value 是任意数据类型 def ...

  4. Python基础:字典(dict)与集合(set)

    查找场景下与列表的性能对比 字典与集合之所以高效的原因是:内部结构都是一张哈希表. 平均情况下插入.查找和删除的时间复杂度为 O(1). 假设有数量100,000的产品列表: import time ...

  5. python基础之dict、set及字符

    python基础之dict.set及字符串处理 本节内容 字典介绍及内置方法 集合介绍 字符串处理 1.字典介绍及内置方法 字典是python中唯一的映射类型,采用键值对(key-value)的形式存 ...

  6. python基础——使用dict和set

    python基础——使用dict和set dict Python内置了字典:dict的支持,dict全称dictionary,在其它语言中也称为map(映射),使用键-值(key-value)存储,具 ...

  7. 第四篇:python基础之dict、set及字符

    python基础之dict.set及字符   python基础之dict.set及字符串处理 本节内容 字典介绍及内置方法 集合介绍 字符串处理 1.字典介绍及内置方法 字典是python中唯一的映射 ...

  8. python基础--字典

    Python基础--字典 字典的常用函数: dict.clear( )--->无任何返回值 说明: 清除字典内的所有的元素 语法: In [5]: dict.clear? Type: metho ...

  9. python基础—字典

    阅读文本需要3分钟,不建议跳读 节目清单 字典是python中最重要的数据类型,字典由“键-值”对组成的集合,字典中的“值”通过“键”来引用.这里将介绍字典的定义.访问.排序等功能. 字典的创建 字典 ...

  10. python基础(六)dict字典和文件操作open

    字典dict 使用key来标注value的数据类型,key和value是一一对应的.在字典中key是唯一的,所以字典也是无序的. #定义一个字典 dict = { 'name' : 'sylar', ...

随机推荐

  1. C/C++如何写调试宏

    1. 调试宏以及测试 在写代码时,不可避免需要打印提示.警告.错误等信息,且要灵活控制打印信息的级别.另外,还有可能需要使用宏来控制代码段(主要是调试代码段)是否执行.为此,本文提供一种调试宏定义方案 ...

  2. Solution Set - LCT

    A[洛谷P3690]维护一个森林,支持询问路径xor和,连边(已连通则忽略),删边(无边则忽略),改变点权. B[洛谷P3203]\(n\)个装置编号为\(0,...,n-1\),从\(i\)可以一步 ...

  3. idea推送代码忽略指定文件,文件夹配置

    idea推送代码忽略指定文件,文件夹配置 今天碰到一个问题,配置了.gitignore文件后没有生效,整了半天,最后发现一种直接配置的方法,可以指定文件夹,或者指定文件类型 打开设置

  4. Linux(三):Linux的目录及相关作用

    使用 Linux,不仅限于学习各种命令,了解整个 Linux 文件系统的目录结构以及各个目录的功能同样至关重要.使用 Linux 时,通过命令行输入 ls -l / 可以看到,在 Linux 根目录( ...

  5. 使用 Docker 部署 VS Code in The Browser

    1)介绍 GitHub:https://github.com/coder/code-server 在日常学习工作中,Vscode 已成为我们首选的代码编辑器.然而,其局限性在于当我们从家到公司移动时, ...

  6. Docker 必知必会3----使用自己制作的镜像

    前面的两篇文章分别讲了,docker的基础概念,设计思路以及docker的基本操作.感兴趣的同学可以查阅: https://www.cnblogs.com/jilodream/p/18177695ht ...

  7. k8s错误集合

    1.etcd没有启动的 [root@mcwk8s03 ~]# kubectl get nodesUnable to connect to the server: context deadline ex ...

  8. WPF没修改代码出现InitializeComponent报错的解决办法

    问题不在于我们做错了什么,之前还好好的,我们什么都没做,就报错了.这完全不是我们的问题. 我的建议是,直接做绝一点,删除obj和debug文件夹,让他自己重新生成一次

  9. Semantic Kernel入门系列:利用YAML定义prompts functions

    引言 在上一章节我们熟悉了prompts functions(提示函数)的创建,我们了解了PromptTemplateConfig中各个属性的简单使用.Semantic Kernel允许我们利用多种方 ...

  10. 联网安装与源码安装mysql

    一.卸载mariadb的rpm包 1.首先,你需要找出已安装的MariaDB包的具体名称.可以使用以下命令列出所有已安装的MariaDB包: rpm -qa | grep mariadb 2.删除命令 ...