一、创建字典(关联数组或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. Luogu 1314 [NOIP2011] 聪明的质监员

    二分答案 + 前缀和. 题面中式子的意思是每一个区间$[l, r]$的贡献是这个区间内$w_i \geq W$的个数乘以这些$i$的$v_i$和. 很快发现了答案具有单调性,可以做两遍二分,分别看看小 ...

  2. 2019年第十届蓝桥杯省赛总结(JavaA组)

    //update3.28:省一rank4,莫名进了国赛好神奇.. 记yzm10第一次体验A组(纯粹瞎水). 早闻山东的JavaA组神仙打架,进国赛都成了奢望(往年只有五个名额),因此抱着做分母的心态来 ...

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

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

  4. Visual Studio 2017中如何创建安装打包项目

    从Visual Studio 2012开始,微软就不在环境中自动集成安装打包项目了,如果还想使用,需要手动下载安装,这里以在Visual Studio 2017上安装打包项目为例进行介绍,步骤如下: ...

  5. 使用cydia substrate 来进行android native hook

      cydia不仅可以hook java代码,同样可以hook native代码,下面举一个例子来进行android native hook 我是在网上找到的supermathhook这个项目,在他基 ...

  6. 个人JS体系完善(一)

    个人JS体系整理(一) 一. 原型 JS每声明一个Function,都有Prototype原型,Prototype原型是函数的一个默认属性,在函数的创建过程中由JS编译器自动添加,也就是说每当生产一个 ...

  7. 容器编排之Kubernetes1.7.6安装与配置

    kubernetes官网的安装教程是采用kubeadm init的方式,但是在生产环境当中,可能需要独自手动安装k8s,本文采用源码安装的方式,一步步搭建k8s的master节点和node节点. 系统 ...

  8. c++语言的组合类的使用,用组合类的方法计算两点间距离。

    组合类的使用主要涉及到类的构造函数,类的复制构造函数. #include <iostream> #include<cmath> class Point{ public: Poi ...

  9. kylin 连接 hortonworks 中的 hive 遇到的问题

    用 hortonworks(V3.1.0.0) 部署了 ambari (V2.7.3),用 ambari 部署了 hadoop 及 hive. 1.  启动 kylin(V2.6)时,遇到如下问题: ...

  10. MongoDB初识篇

    前言 一直听说MongonDB,却没有机会接触它,于是决定先从表面上认识它.MongoDB(分布式文档存储数据库)是一种介于关系型数据库和非关系型数据库之间的数据库,而且它是非关系数据库中最像关系型数 ...