一、创建字典(关联数组或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. poj3420 Quad Tiling

    传送门 题目大意 问讲一个大小为4*n的棋盘用无数1*2的骨牌不重叠覆盖有多少种方案. 分析 我们考虑可以将长为n的棋盘分为两块,一个大小为n-i,另一个大小为i,而为了避免对于不同的i构造出相同的情 ...

  2. Luogu 3934 Nephren Ruq Insania

    和Ynoi2016 炸脖龙重题了. BZOJ 5394. 首先是扩展欧拉定理: 一开始傻掉了……递归的层数和区间长度无关……也就是说我们每一次直接暴力递归求解子问题一定不会超过$logP$层,因为当模 ...

  3. 《Head First Servlets & JSP》-12-Web应用安全

    serlvet安全的4大要素 认证.授权.机密性和数据完整性. 容器完成认证和授权的过程 代码中不要有安全信息 大多数Web应用,大多数情况下Web应用的安全约束都应该以声明方式处理,即在部署描述文档 ...

  4. 'module' object has no attribute 'contrib'

    Problem solved, turns i had 2 tensorflow versions installed: When launching $python , it used 0.6 ve ...

  5. MacBook Pro (13 英寸, 2017 年)安装win10系统

    准备: windows10系统镜像 16G或更大容量U盘(存放驱动,必须格式化为FAT) 官方提供的驱动软件 详细步骤: 1.打开Bootcamp,选择镜像文件 2.点击下一步,选择Bootcamp分 ...

  6. execve(".. ",[".. ",".. "],[/* ..*/])第二个 参数 数组硬传

    strace.第一次跟踪点东西的启动. 第一次看见..execve(".. ",[".. ",".. "],[/* ..*/]) 第二个 参 ...

  7. JDK Linux下安装

    下载jdk-6u45-linux-x64.bin到/root目录下执行./jdk-6u45-linux-x64.bin 会在/root目录下生成 jdk1.6.0_45 文件 之后配置环境变量 编辑/ ...

  8. Binder学习笔记(七)—— ServiceManager如何响应addService请求

    有了<ServiceManager如何响应checkService请求>的探索,研究addService就轻车熟路了,中间过程不再多说,仅把关键节点列出: frameworks/nativ ...

  9. Notification通知代码简洁使用

    1.自定义发送 Notification 的使用 1.1 通知(消息)的创建 ---------------详细介绍篇 // 不带消息内容 NSNotification *notification1 ...

  10. Git解决pull无法操作成功

    https://blog.csdn.net/chenjunfengf/article/details/78301957 场景 在git pull的时候,如果本地代码有改动,而服务器上代码也已经被其他人 ...