字典(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. js拷贝实例;

    ,]]; // var arr2 =arr1.slice(0); // arr1[0] ="z"; // arr1[2][0] = "v"; // consol ...

  2. Linux CentOS7 安装php简要过程以及nginx

    Copy From  https://www.cnblogs.com/freeweb/p/5425554.html 修改了下: 1. 下载php源码: wget  http://cn2.php.net ...

  3. FEAT: Front-End Auto Testing

    FEAT FEAT: Front-End Auto Testing 前端自动化测试 jest $ yarn add -D jest # OR $ npm i -D jest https://jestj ...

  4. 修改maven的默认jdk版本

    问题: 创建maven项目的时候,jdk版本默认使用的是1.5版本. 解决: 1.修改maven的settings.xml文件,添加如下: <profile> <id>jdk- ...

  5. 一本通1601【例 5】Banknotes

    1601:[例 5]Banknotes 时间限制: 1000 ms         内存限制: 524288 KB [题目描述] 原题来自:POI 2005 Byteotian Bit Bank (B ...

  6. BZOJ5415[Noi2018]归程——kruskal重构树+倍增+堆优化dijkstra

    题目描述 本题的故事发生在魔力之都,在这里我们将为你介绍一些必要的设定. 魔力之都可以抽象成一个 n 个节点.m 条边的无向连通图(节点的编号从 1 至 n).我们依次用 l,a 描述一条边的长度.海 ...

  7. Maven依赖中的scope详解

    scope的分类 compile 默认就是compile,什么都不配置也就是意味着compile.compile表示被依赖项目需要参与当前项目的编译,当然后续的测试,运行周期也参与其中,是一个比较强的 ...

  8. 【POI每日题解 #8】DYN-Dynamite

    你问蒟蒻为什么一天写两篇每日题解? 难道每日坚果你不能一天吃两包吗? 题目链接 哇…这道题第一反应就是二分答案[太明显了 枚举答案 就那个“关键节点到这些点中距离的最小值的最大值”[蒟蒻读了好几遍…… ...

  9. 洛谷CF868F Yet Another Minimization Problem(动态规划,决策单调性,分治)

    洛谷题目传送门 貌似做所有的DP题都要先搞出暴力式子,再往正解上靠... 设\(f_{i,j}\)为前\(i\)个数分\(j\)段的最小花费,\(w_{l,r}\)为\([l,r]\)全在一段的费用. ...

  10. 洛谷P4035 [JSOI2008]球形空间产生器(高斯消元)

    洛谷题目传送门 球啊球 @xzz_233 qaq 高斯消元模板题,关键在于将已知条件转化为方程组. 可以发现题目要求的未知量有\(n\)个,题目却给了我们\(n+1\)个点的坐标,这其中必有玄机. 由 ...