字典(Dictionary)

字典是一种可变的容器模型,由键值对组成,键和值用冒号分隔,用花括号括起来:

d = {key1 : value1, key2 : value}

字典的值可以是任何类型的数据,但是键只能是不可变的数据,如字符串、数值、元组

1. 访问字典中的值

aline_0 = {'colour': 'red'}

print(aline_0['colour'])

将会输出

red

2. 添加键值对

直接添加新的键值对

aline_0['spees'] = 5
aline_0['points'] = 10

这样就添加了两个键值对,要注意的是字典中键值对的顺序和添加顺序无关。

3. 删除键值对

del aline_0['colour']#删除键值对
aline_0.clear()#清空字典

4. 遍历字典

1.遍历键值对

for k, v in aline_0.items():
print('Key is: ' + k)
print('Value is: ' + v)

遍历字典时,遍历的顺序与存储的顺序不相同

2.遍历所有的键

for key in aline_0.keys():
print(key.title()) #与以下效果一致:
for key in aline_0:
print(key.title())

便利字典时,默认遍历键,但是还是要显式的使用方法keys(),方法key()返回一个列表,对该列表使用方法sorted()可以实现对键按顺序访问

for key in sorted(aline_0.keys()):
print(key.title())

3.遍历所有的值

与遍历键类似,但是要使用方法values(), 该方法也是返回一个list,当需要对list去重是可以使用set()方法:

for value in set(aline_0.values()):
print(value)

4. 字典的内置函数

函数 效果
len() len(dict), 返回字典的元素个数,也就是键的个数
str() str(dict) , 返回字符串表示
type() type(dict), 返回<class 'dict'>

方法:

序号 描述
1 radiansdict.clear()删除字典内所有元素
2 radiansdict.copy()返回一个字典的浅复制
3 radiansdict.fromkeys()创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
4 radiansdict.get(key, default=None)返回指定键的值,如果值不在字典中返回default值
5 key in dict如果键在字典dict里返回true,否则返回false
6 radiansdict.items()以列表返回可遍历的(键, 值) 元组数组
7 radiansdict.keys()返回一个迭代器,可以使用 list() 来转换为列表
8 radiansdict.setdefault(key, default=None)和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
9 radiansdict.update(dict2)把字典dict2的键/值对更新到dict里
10 radiansdict.values()返回一个迭代器,可以使用 list() 来转换为列表
11 pop(key[,default])删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
12 popitem()随机返回并删除字典中的一对键和值(一般删除末尾对)。

字典(Dictionary)的更多相关文章

  1. C#创建安全的字典(Dictionary)存储结构

    在上面介绍过栈(Stack)的存储结构,接下来介绍另一种存储结构字典(Dictionary). 字典(Dictionary)里面的每一个元素都是一个键值对(由二个元素组成:键和值) 键必须是唯一的,而 ...

  2. 索引器、哈希表Hashtabl、字典Dictionary(转)

    一.索引器 索引器类似于属性,不同之处在于它们的get访问器采用参数.要声明类或结构上的索引器,使用this关键字. 示例:   索引器示例代码 /// <summary> /// 存储星 ...

  3. Python 字典(Dictionary)操作详解

    Python 字典(Dictionary)的详细操作方法. Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应值成对组成.字 ...

  4. Python 字典(Dictionary) get()方法

    描述 Python 字典(Dictionary) get() 函数返回指定键的值,如果值不在字典中返回默认值. 语法 get()方法语法: dict.get(key, default=None) 参数 ...

  5. Python字典 (dictionary)

    字典dict,是Python唯一的标准mapping类型,也是内置在Python解释器中的. mapping object把一个可哈希的值(hashable value)映射到一个任意的object上 ...

  6. Python 字典(Dictionary) setdefault()方法

    描述 Python 字典(Dictionary) setdefault() 函数和get()方法类似, 如果键不已经存在于字典中,将会添加键并将值设为默认值. 语法 setdefault()方法语法: ...

  7. C#字典Dictionary排序(顺序、倒序)

    这里是针对.NET版本过低的排序方式,没怎么用过,记录一下: 一.创建字典Dictionary 对象 假如 Dictionary 中保存的是一个网站页面流量,key 是网页名称,值value对应的是网 ...

  8. Python 字典(Dictionary) has_key()方法

    描述 Python 字典(Dictionary) has_key() 函数用于判断键是否存在于字典中,如果键在字典dict里返回true,否则返回false. 语法 has_key()方法语法:dic ...

  9. 字典 Dictionary

    字典 Dictionary {Key-Value} 1.字典是无序的,没有下标(因为有key,取值直接用key值) Key尽量不要用中文编写,以防止编码不同导致取不出来 2.字典常用方法: 查找: ① ...

  10. [Swift]JSON字符串与字典(Dictionary)、数组(Array)之间的相互转换

    1.JSON字符串与字典(Dictionary)之间的相互转换 import Foundation //JSON字符串转换为字典(Dictionary) func getDictionaryFromJ ...

随机推荐

  1. VS Code 的常用快捷键和插件

    VS Code 的常用快捷键和插件 一.vs code 的常用快捷键 1.注释: a) 单行注释:[ctrl+k,ctrl+c] 或 ctrl+/ b) 取消单行注释:[ctrl+k,ctrl+u] ...

  2. mybatis批量插入和批量更新

    批量插入数据使用的sql语句是: insert into table (aa,bb,cc) values(xx,xx,xx),(oo,oo,oo) mybatis中mapper.xml的代码如下: & ...

  3. Linux下数据库备份恢复过程

    1. 远程进入Linux服务器. 2. 一般登录的是root用户, 第一步切换到Oracle用户, 命令: su - oracle 3. 查看服务器上面数据库的监听的状况 lsnrctl 之后输入命令 ...

  4. 热修改 MySQL 数据库 pt-online-schema-change 的使用详解

    由于周五公司团建的关系所以此篇推迟了抱歉. 首先不得不在该篇里面梳理一个数据库热增加删除字段表的工具 pt-online-schema-change 这个工具在前面我的博文 <关于utf8mb4 ...

  5. ultraEdit MAC 破解方法

    安装了个UltraEdit 但是需要验证码,太麻烦了,破解方法: 拷贝附件(command +c )然后在MAC的底下点击访达==>应用程序==>UltraEdit==>右击 显示包 ...

  6. BZOJ4864[BeiJing 2017 Wc]神秘物质——非旋转treap

    题目描述 21ZZ 年,冬. 小诚退休以后, 不知为何重新燃起了对物理学的兴趣. 他从研究所借了些实验仪器,整天研究各种微观粒子.这 一天, 小诚刚从研究所得到了一块奇异的陨石样本, 便迫不及待地开始 ...

  7. 【Linux】Centos6.8下一键安装Lnmp/Lamp环境

    [下载一键安装软件包] 百度云地址:https://pan.baidu.com/s/1TZqGKtE-46gxW96Ptfp4gA 网址:https://lnmp.org/ [步骤] 通过第三方远程工 ...

  8. The Chinese Postman Problem HIT - 2739(有向图中国邮路问题)

    无向图的问题,如果每个点的度数为偶数,则就是欧拉回路,而对于一个点只有两种情况,奇数和偶数,那么就把都为奇数的一对点  连一条  边权为原图中这两点最短路的值  的边  是不是就好了 无向图中国邮路问 ...

  9. 2019 Android 高级面试题总结

    说下你所知道的设计模式与使用场景 a.建造者模式: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. 使用场景比如最常见的AlertDialog,拿我们开发过程中举例,比如C ...

  10. 通过 powershell 配置 IIS

    1. 设置iis pool: cls Import-Module WebAdministration Get-ChildItem IIS:\apppools | ForEach-Object{     ...