字典的学习笔记

article/2025/10/14 15:17:20

  • 列表  []     单身
  • 什么是字典  {}  二人世界

python内置的数据结构之一,与列表一样是一个可变序列(可以增删改操作的)
以键值对的方式存储数据,字典是一个无序的序列  -> hash(key)  通过哈希函数来计算存储位置,key一定是不可变的
字典的创建
使用花括号:  score={'张三':100,'李四':98,'王五':55}
第二种创建方式:使用内置函数   dict()
 


print('使用花括号创建')
score = {'张三': 100, '李四': 98, '王五': 55}
print(score, id(score))
print(type(score))
print('第二种创建方式:使用内置函数')
student = dict(name='liu', age=34)
print(student)
'''空字典'''
dit = {}
print(dit, type(dit))print('=========获取字典中的值=======')
print('使用花括号创建')
score = {'张三': 100, '李四': 98, '王五': 55}print(score['张三'])
# print(score['张1']) #如果查找的键不存在 会报错,KeyError: '张1'
print(score.get('张三'))
print(score.get('张1'))  # None  ,如果查找的键不存在
print(score.get('张1', 99))  # 如果查找的键张1不存在,给返回一个默认值print('=======key的判断========')
print('张三' in score)
print('张三' not in score)del score['张三']  # 删除指定的key-value对
print(score, id(score))
# score.clear()
print(score, id(score))
score['程力'] = 93
print(score)
score['程力'] = 95
print(score)print('======获取所有的key========')
score = {'张三': 100, '李四': 98, '王五': 55}
keys = score.keys()
print(keys)  # dict_keys(['张三', '李四', '王五'])
print(type(keys))  # <class 'dict_keys'>
print(list(keys))  # ['张三', '李四', '王五'] 将所有建组成的视图转成列表print('======获取所有的value========')
values = score.values()
print(values)  # dict_values([100, 98, 55])
print(type(values))  # <class 'dict_values'>
print(list(values))print('======获取所有的key-value对========')
items = score.items()
print(items)  # dict_items([('张三', 100), ('李四', 98), ('王五', 55)]) ,转换之后的元素由元组组成-》 元组()print('字典元素的遍历')
for i in score:print(i)  # 输出所有的列表中所有的键 keyprint(score[i], score.get(i))  # 获取键对应的值
print('字典元素的key不允许重复')
d = {'name': '张三', 'name': '李四'}  # key不允许重复,一旦重复出现值覆盖的情况
print(d)  # {'name': '李四'}d = {'name': '张三', 'nick_name': '张三'}
print(d)lst = [1, 2, 3, 4]
lst.insert(1, 100)
print(lst)# d = {lst: 100}
# print(d)  # 可变对象不可以作为key  TypeError: unhashable type: 'list'print('====================')items = ['Fruits', 'books', 'Others']
prices = [85, 23, 52]
d = {i: prices for i, prices in zip(items, prices)}
print(d)items = ['Fruits', 'books', 'Others']
prices = [85, 23, 52,30,40] #更长5个元素,但是只有前3个元素有效
d = {i: prices for i, prices in zip(items, prices)}#以元素少的那个列表来生成
print(d)

lst = ['张三', '李四', '王五']
score = [12, 23, 34, 45, 56]
item = zip(lst, score)
print(item)  # <zip object at 0x000001A9FAC29408>
print('=================')
print(list(item))  # [('张三', 12), ('李四', 23), ('王五', 34)]lst = ['Fruits', 'Books', 'Carrit']
dit = {i.upper(): score for i, score in zip(lst, score)}
print(type(dit)) #<class 'dict'>
print(dit)    #{'FRUITS': 12, 'BOOKS': 23, 'CARRIT': 34}

下面为扩展阅读:

1. 直接创建空字典

dic = {}
print(type(dic))
# 输出结果:<class 'dict'>

2. 直接赋值创建字典

dic = {'name': 'Jack', 'age': 18, 'height': 180}
print(dic)
# 输出结果:{'name': 'Jack', 'age': 18, 'height': 180}

3. 通过关键字dict和关键字参数创建

dic = dict(name='Jack', age=18, height=180)
print(dic)
# 输出结果:{'name': 'Jack', 'age': 18, 'height': 180}

实例:

       •输出一个类似{ i : i*i }的字典

dic = dict()
for i in range(1, 5):dic[i] = i * i
print(dic)
# 输出结果:{1: 1, 2: 4, 3: 9, 4: 16}

4. 通过关键字dict和二元组列表创建

lis = [('name', 'Jack'), ('age', 18), ('height', 180)]
dic = dict(lis)
print(dic)
# 输出结果:{'name': 'Jack', 'age': 18, 'height': 180}

5. 通过关键字dict和zip创建

dic = dict(zip('abc', [1, 2, 3]))
print(dic)
# 输出结果:{'a': 1, 'b': 2, 'c': 3}

 6. 通过字典推导式创建

dic = {i: i ** 2 for i in range(1, 5)}
print(dic)
# 输出结果:{1: 1, 2: 4, 3: 9, 4: 16}

 7. 通过dict.fromkeys()创建

注意:通常用来初始化字典, 设置value的默认值

dic = dict.fromkeys(range(4), 'x')
print(dic)
# 输出结果:{0: 'x', 1: 'x', 2: 'x', 3: 'x'}


参考链接:https://blog.csdn.net/qq_45261963/article/details/108936881


http://chatgpt.dhexx.cn/article/2XfR6NCm.shtml

相关文章

python学习之字典

目录 一、字典格式 二、操作 1、添加元素 2、修改value值 3、删除 4、遍历和查询 5、合并字典 三、小结 一、字典格式 特点&#xff1a;是以键值对的形式存储 结构&#xff1a;{键1&#xff1a;值&#xff0c;键2&#xff1a;值&#xff0c;键3&#xff1a;值} 字典…

『ML笔记』深入浅出字典学习1(Dictionary Learning)

目录 一、预备知识 二、字典学习以及稀疏表示的概要 2.1、我们为什么需要字典学习&#xff1f; 2.2、我们为什么需要稀疏表示&#xff1f; 三、下一节 参考文献 一、预备知识 稀疏向量&#xff1a;假设向量中的元素绝大部分为零元素&#xff0c;则称该向量是稀疏的。 …

机器学习(十三)k-svd字典学习

k-svd字典学习 原文地址:http://blog.csdn.net/hjimce/article/details/50810129 作者&#xff1a;hjimce 一、字典学习 字典学习也可简单称之为稀疏编码&#xff0c;字典学习偏向于学习字典D。从矩阵分解角度&#xff0c;看字典学习过程&#xff1a;给定样本数据集Y&…

字典学习(KSVD)详解

关于字典学习 对于一个事物&#xff0c;我们如何表征它呢&#xff1f;很明显&#xff0c;这个事物是有特征的&#xff0c;或者说&#xff0c;这个事物它是由许多个不同的特征经过一定的组合而形成的。字典学习的目标是提取实物的最本质特征。用字典来表征该事物的特征。&#…

语音增强———字典学习介绍

语音增强--------------字典学习 字典学习就是用较少的特征&#xff08;原子&#xff09;来表示信号&#xff0c;那么信号的多个特征组合就相当于多个原子组成的字典&#xff0c;那么信号就可以用字典中少量的原子进行表示。信号在字典下的表示系数越系数&#xff0c;那么重构…

字典学习(Dictionary Learning)

字典学习——Dictionary Learning 我主要从一下几个方面分享一下。 什么是字典学习字典学习的理论依据及公式字典学习的应用 1、什么是字典学习&#xff1f; 在人类发展的近几千年历史中&#xff0c;文字对人类文明的推动起着举足轻重的作用。人类用文字记述了千年的历史&a…

为什么我们需要机器学习,机器学习主要应用在哪几方面?

一、为什么需要机器学习&#xff1f; 有些任务直接编码较为复杂&#xff0c;我们不能处理所有的细微之处和简单编码&#xff0c;因此&#xff0c;机器学习很有必要。相反&#xff0c;我们向机器学习算法提供大量数据&#xff0c;让算法不断探索数据并构建模型来解决问题。比如…

什么是机器学习,目前机器学习的应用有哪些?

机器学习 机器学习就是让机器具备人一样学习的能力&#xff0c;专门研究计算机怎样模拟或实现人类的学习行为&#xff0c;以获取新的知识或技能&#xff0c;重新组织已有的知识结构使之不断改善自身的性能&#xff0c;它是人工智能的核心。 机器学习已经有了十分广泛的应用&a…

【机器学习】浅析机器学习各大算法的适用场景

最近在参加一个分类算法竞赛&#xff0c;也正好整理各个分类机器学习算法的简单介绍&#xff0c;应用场景和优缺点。资源来自网上和自己个人理解。 一、逻辑回归模型 1、理解逻辑回归模型&#xff08;LR&#xff09; 逻辑回归是一种分类算法&#xff0c;其原理是将线性回归预测…

什么是机器学习?有哪些应用?终于有人讲明白了

作者&#xff1a;星环科技人工智能平台团队 来源&#xff1a;大数据DT&#xff08;ID&#xff1a;hzdashuju&#xff09; 导读&#xff1a;人工智能的快速发展&#xff0c;带动了相关技术的繁荣。近些年&#xff0c;国内外的科技公司对机器学习人才都有大量需求。怎样入行机器学…

各种机器学习的应用场景分别是什么?

[转] https://www.leiphone.com/news/201712/RqsxWpjPOPFy6Qm4.html 关于这个问题我今天正好看到了这个文章&#xff0c;讲的正是各个算法的优劣分析&#xff0c;很中肯。 正好14年的时候有人做过一个实验[1]&#xff0c;比较在不同数据集上&#xff08;121个&#xff09;&…

【机器学习】机器学习在社会科学中的应用

机器学习在社会科学中的应用 在科学研究中&#xff0c;从方法论上来讲&#xff0c;都应先见森林&#xff0c;再见树木。当前&#xff0c;人工智能科技迅猛发展&#xff0c;万木争荣&#xff0c;更应系统梳理脉络。为此&#xff0c;我们特别精选国内外优秀的综述论文&#xff0c…

机器学习应用

监督学习和非监督学习 监督学习&#xff1a; 有标签的&#xff0c;回归和分类&#xff0c;场景&#xff1a;用户流失预测 非监督学习&#xff1a;无标签&#xff0c;聚类和降维&#xff0c;场景&#xff1a;用户细分 数据不平衡 类别不平衡。数据在某些维度上多&#xff0c;…

【机器学习】为什么机器学习难于应用

摘要&#xff1a; 本文主要讲述了如何管理机器学习应用方面的棘手问题 应用机器学习是有挑战性的。 在机器学习领域&#xff0c;你必须要在没有正确答案的问题上做出很多决定&#xff01;例如&#xff1a; 用什么框架&#xff1f; 用什么数据作为输入&#xff0c;要输出什么数…

机器学习在社会科学中的应用

本文把目前机器学习技术在社会科学研究中的应用分成三类&#xff1a;第一&#xff0c;数据生成&#xff08;Data Generating Process&#xff09;&#xff1a;机器学习可以帮助学者获得以前很难或无法获得的数据&#xff1b;第二&#xff0c;预测&#xff08;Prediction&#x…

【Machine Learning】20.应用机器学习的一些建议

20.应用机器学习的一些建议 1.导入包2. 评估学习算法&#xff08;以线性回归为例&#xff09;2.1 分离数据集可视化数据集 2.2 误差计算2.3 比较模型在训练集和测试集上的表现 3.Bias and Variance3.1 可视化数据集3.2 找到optimal degree最佳次数3.3 Tuning Regularization调整…

机器学习之应用举例

#Photo OCR Photo Optical Character Recognition&#xff08;照片光学字符识别&#xff09;&#xff0c;注重的问题是如何让计算机读出图片中的文字信息。 1、给定某种图片&#xff0c;它将图像扫描一遍&#xff0c;然后找出照片中的文字信息&#xff1b; 2、重点关注这些文…

机器学习的应用–大数据

说完机器学习的方法&#xff0c;下面要谈一谈机器学习的应用了。无疑&#xff0c;在2010年以前&#xff0c;机器学习的应用在某些特定领域发挥了巨大的作用&#xff0c;如车牌识别&#xff0c;网络攻击防范&#xff0c;手写字符识别等等。但是&#xff0c;从2010年以后&#xf…

什么是机器学习?有哪些算法和分类?又有哪些应用?看完你就懂了

导读&#xff1a;本文从大数据的概念讲起&#xff0c;主要介绍机器学习的基础概念&#xff0c;以及机器学习的发展过程&#xff0c;用一个形象的例子讲解大数据生态中的机器学习&#xff0c;并按照传统机器学习&#xff08;包括分类、聚类、回归、关联规则、协同过滤、数据降维…

1.2 机器学习的应用

机器学习无处不在。 问&#xff1a;为什么机器学习已经成为人工智能的一个子领域&#xff1f; 答&#xff1a;通过编程能够让机器做一些事情&#xff0c;比如&#xff1a;如何找到从A到B的最短距离&#xff0c;现实生活对应着GPS导航。但是&#xff0c;有时候编程也存在难点&…