一、创建字典(关联数组或hash表)

字典由键(key)和对应的值(values)组成。

代码:  dic = { ‘ name‘:1 , ‘ zhang ’:2 , ‘ age‘ :3 , ‘ sex‘ : ‘ man‘}

注意:键与值用冒号(:)隔开,每对用逗号隔开,整体放在花括号中,键必须唯一的

值可以取任何数据类型,但是必须是不可变的。(如:字符串、数值、元素)

访问字典中的值:

代码:print(dic[‘name’])

如果字典里空值则报错。

二、修改字典

向字典添加新内容的方法是添加新的键/值对,修改或者删除已有键/值如下:

代码:

dic = { ‘ name‘:1 , ‘ zhang ’:2 , ‘ age‘ :3 , ‘ sex‘ : ‘ man‘}

dic[ ‘ age‘ ] = 32#修改

dic[‘hobbies’] = ‘computer’#增加新内容(dic[‘键’]=’值’)

三、删除字典元素

能删除单一的元素也能清空字典。

代码:
dic = { ‘ name‘:1 , ‘ zhang ’:2 , ‘ age‘ :3 , ‘ sex‘ : ‘ man‘}

del dic[ ‘ name‘]#删除 name 条目

dic.clear()#清空字典中所有条目

del dic#删除字典

四、字典键的特性

1、不允许同一个键出现两次,创建时如果同一个键被赋值两次,则只有后一个值会被记住

2、键必须不可变,所以可以用数,字符串或者是元组充当,不可以用列表,因为列表可变

五、字典的内置函数&方法

函数

作用

dict.clear()

清空dic字典内容

dict.copy()

复制dic字典

del dic[‘k’]

删除字典中k的条目(不设k值时删除整个字典)

cmp (dict1,dict2)

比较dict1和dict2两个元素

len(dict)

计算字典的个数(即键(key)个数)

str(dict)

输出字典可打印的字符串表示

dict_fruit.popitem()

随机删除字典中的值

dict_fruit[‘k’]

查找k键下的值,不存在则报错

dict_fruit.get(‘k’,def)

get方法查找,存在返回key的值,否则返回def

dict_fruit.keys()

列出所有key(键)

dict_fruit.values()

列出所有values(值)

dict_fruit.items()

以列表返回可遍历的(键, 值) 元组数组

dict_fruit.update(res2)

把res2字典填充到dict_fruit中key的值(中)覆盖

dict_fruit.setdefault(key,def)

创建新key,如果创建的key字典中有则返回原来的key的值

dict_fromkeys([“a”,”b”],”xhl”)

批量生成相同的dey和value的字典

dict_fruit{‘key 1’: values 1,‘key 2’: values 2,‘key 3’: values 3,}


python_字典 学习的更多相关文章

  1. Dictionary Learning(字典学习、稀疏表示以及其他)

    第一部分 字典学习以及稀疏表示的概要 字典学习(Dictionary Learning)和稀疏表示(Sparse Representation)在学术界的正式称谓应该是稀疏字典学习(Sparse Di ...

  2. 字典学习(Dictionary Learning, KSVD)详解

    注:字典学习也是一种数据降维的方法,这里我用到SVD的知识,对SVD不太理解的地方,可以看看这篇博客:<SVD(奇异值分解)小结 >. 1.字典学习思想 字典学习的思想应该源来实际生活中的 ...

  3. 学习人工智能的第五个月[字典学习[Dictionary Learning,DL]]

    摘要: 大白话解释字典学习,分享第五个月的学习过程,人生感悟,最后是自问自答. 目录: 1.字典学习(Dictionary Learning,DL) 2.学习过程 3.自问自答 内容: 1.字典学习( ...

  4. 稀疏编码(sparse code)与字典学习(dictionary learning)

    Dictionary Learning Tools for Matlab. 1. 简介 字典 D∈RN×K(其中 K>N),共有 k 个原子,x∈RN×1 在字典 D 下的表示为 w,则获取较为 ...

  5. 联合CRF和字典学习的自顶向下的视觉显著性-全文解读

    top-down visual saliency via joint CRF anddictionary learning 自顶向下的视觉显著性是使用目标对象的可判别表示和一个降低搜索空间的概率图来进 ...

  6. 字典学习(Dictionary Learning)

    0 - 背景 0.0 - 为什么需要字典学习? 这里引用这个博客的一段话,我觉得可以很好的解释这个问题. 回答这个问题实际上就是要回答“稀疏字典学习 ”中的字典是怎么来的.做一个比喻,句子是人类社会最 ...

  7. 吴裕雄 python 机器学习——数据预处理字典学习模型

    from sklearn.decomposition import DictionaryLearning #数据预处理字典学习DictionaryLearning模型 def test_Diction ...

  8. 零基础学习python_字典(25-26课)

    今天学到后面的知识,突然发现之前学习到的字典列表啥的都有点忘了,打算补一下之前学到的字典,到时候你看的时候,字符串.列表.字典.元祖这几个没啥顺序,刚开始学的时候了解下方法,当然你可以死记硬背下,后面 ...

  9. swift2.0 字符串,数组,字典学习代码

    swift 2.0 改变了一些地方,让swift变得更加完善,这里是一些最基本的初学者的代码,里面涉及到swift学习的最基本的字符串,数组,字典和相关的操作.好了直接看代码吧. class View ...

随机推荐

  1. 1027C Minimum Value Rectangle

    传送门 题目大意 有n个木棍,让你选4根使得组成的矩形的周长的平方除以面积最小. 分析 这个题看起来就是一个需要证明的贪心,下面我们来证明一下: 所以我们只需要枚举一边所有的a的可能值,然后b就是比a ...

  2. 什么是DMZ、DMZ端口、DMZ主机?

    DMZ是英文“demilitarized zone”的缩写,中文名称为“隔离区”,也称“非军事化区”.它是为了解决安装防火墙后外部网络不能访问内部网络服务器的问题,而设立的一个非安全系统与安全系统之间 ...

  3. Batch Normalization 与Dropout 的冲突

    BN或Dropout单独使用能加速训练速度并且避免过拟合 但是倘若一起使用,会产生负面效果. BN在某些情况下会削弱Dropout的效果 对此,BN与Dropout最好不要一起用,若一定要一起用,有2 ...

  4. 数据结构_bubble_sort

    问题描述 给定一个 1~N 的排列 P,即 1 到 N 中的每个数在 P 都只出现一次. 现在要对排列 P 进行冒泡排序,代码如下:for (int i = 1; i <= N; ++i)for ...

  5. 设置datalist指定行的背景色

    前台: <div class="table-responsive" > <table class="table table-bordered table ...

  6. MVC小记备忘

    1,页面用<dl><dt><dd>和Bootstrap的"dl-horizontal"类布局页面,使每一个属性名和属性值占一行 <dl c ...

  7. 【C#】记录程序耗时方法

    最近写了一个读txt题库然后导入数据库的控制台应用,查看存入数据库耗时 在C#中使用 Stopwatch  命名空间: System.Diagnostics: 使用方法:   System.Diagn ...

  8. Educational Codeforces Round 60 (Rated for Div. 2)D(思维,DP,快速幂)

    #include <bits/stdc++.h>using namespace std;const long long mod = 1e9+7;unordered_map<long ...

  9. 线段树【洛谷P2894】 [USACO08FEB]酒店Hotel

    P2894 [USACO08FEB]酒店Hotel 参考样例,第一行输入n,m ,n代表有n个房间,编号为1---n,开始都为空房,m表示以下有m行操作,以下 每行先输入一个数 i ,表示一种操作: ...

  10. opencv第三课,图像滤波

    1.介绍 OpenCV图像处理技术中比较热门的图像滤波操作主要被分为了两大类:线性邻域滤波和非线性滤波.线性邻域滤波常见的有“方框滤波“,”均值滤波“和”高斯滤波“三种,二常见的非线性滤波主要是中值滤 ...