字典(Dictionary)在Python中是一种可变的容器模型,它是通过一组键(key)值(value)对组成,这种结构类型通常也被称为映射,或者叫关联数组,也有叫哈希表的。每个key-value之间用“:”隔开,每组用“,”分割,整个字典用“{}”括起来,它的定义如下图所示  

  定义字典时,键在前,值在后,键必须唯一性,值可以不唯一,如果键有相同,值则取最后一个;

  值可以是任何的数据类型,但是键必须是不可变的数据类型(数字、字符串、元组);

  定义的时候,字典是{},列表是[],元组是();

Python中集成了许多关于字典的方法,下面我们来列举一下:

clear()#清空字典里的数据;copy()#拷贝(浅拷贝)一个字典里的数据;

fromkeys()#使用给定的键建立字典,对应的值默认为“None”;

get(key, default=None)#访问字典中对应的键里的值,如不存在该键返回default的值;

items()#获取字典键值对数据,以列表形式返回;

keys()#获取字典键的数据,以列表形式返回;values()#获取字典值的数据,以列表形式返回;

setdefault(key, default=None)#和get方法类似,不同之处在于,如不存在该键,则添加该键到字典中并将值设置为default的值,如果存在该键,且键有值,则返回该键的值。

update(dict2)#把字典dict2的数据(键值对)更新到另一个字典中;

pop(key[,default])      删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
popitem()      随机返回并删除字典中的一对键和值。

>>> a={'a':1,'b':2,'c':3}
>>> a
{'a': 1, 'b': 2, 'c': 3}
>>> a['a']=10            #######修改字典a中键为a的值,10
>>> a
{'a': 10, 'b': 2, 'c': 3}

>>> b=a.items()     #######取键值,返回是元组形式
>>> b
dict_items([('a', 1), ('b', 2), ('c', 3)])

>>> a.keys()              ###返回的不是列表也不是字典,是特殊类型。
dict_keys(['a', 'b', 'c'])

>>> b=list(a.keys())      ####把字典a的键以列表的形式赋值给b。
>>> b
['a', 'b', 'c']
>>>

>>> a.values()
dict_values([10, 2, 3])

 print(dic5.pop('age')) #删除字典中指定键值对,并返回该键值对的值
ret=dic5.pop('age')
print(ret)
print(dic5) a = dic5.popitem() #随机删除某组键值对,并以元组方式返回值
print(a, dic5)
dic6=dict.fromkeys(['host1','host2','host3'],'test')
print(dic6)#
###返回{'host3': 'test', 'host1': 'test', 'host2': 'test'} 遍历
# for i in dic5:
# print(i,dic5[i])
# for i,v in dic5.items():
# print(i,v)

>>> a
{'a': 1, 'b': 2, 'c': 3}
>>> b
{'a': 1, 'b': 2}
>>> b['b']=22
>>> b
{'a': 1, 'b': 22}
>>> a.update(b)             #####update更新,把字典dict2的键/值对更新到dict里
>>> a
{'a': 1, 'b': 22, 'c': 3}
>>>

字符串连接

>>> a='abc'
>>> b='123'
>>> c='@@@'.join([a,b])
>>> c
'abc@@@123'
>>>

												

第六天,字典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. maven groupid与artifactid

    groupid和artifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找. groupId一般分为多个段 ...

  2. 更换过Ubuntu之后经常性卡死,原因有待细究

    如题: 卡死时间: 2019-5-22-14:45 再次卡死,这次绝对不是看视频的原因了,具体什么原因还是不知道,不过我觉得就是显卡的问题,和搜索出来的问题差不多,安装了一些东西,看看行不行吧 sud ...

  3. PAT 1035 插入与归并(25)

    原题:https://pintia.cn/problem-sets/994805260223102976/problems/994805286714327040传送门: 根据维基百科的定义: 插入排序 ...

  4. c++语言中类中的静态数据成员为什么必须在类体外初始化?

    静态成员属于全局变量,是所有实例化以后的对象所共享的,而成员的初始化你可以想象成向系统申请内存存储数据的过程,显然这种共有对象必须提前申请好,而不是由某个实例化的对象来操纵的. #include &l ...

  5. AtCoder Grand Contest 016 F - Games on DAG

    题目传送门:https://agc016.contest.atcoder.jp/tasks/agc016_f 题目大意: 给定一个\(N\)点\(M\)边的DAG,\(x_i\)有边连向\(y_i\) ...

  6. Coursera:一流大学免费在线课程平台

    https://www.coursera.org/ 微软联合创始人 Bill Gates 从公司退隐后,一直和妻子 Melinda 忙于公益事业.但离开 IT 圈并未改变他穿廉价衬衫和保持学习的习惯— ...

  7. laravel oauth2.0 文件上传报错

    报错信息:   "message": "Invalid stream or file provided for UploadedFile",    " ...

  8. ASP.NET相关事件及JS的执行顺序

    实验代码: ASPX: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="We ...

  9. 26款优秀的Android逆向工程工具

    26款优秀的Android逆向工程工具

  10. ubuntu下nginx+PHP-FPM安装配置

    安装nginx apt-get install nginx 配置nginx 位置: /etc/nginx/nginx.conf  ,其中包含了 include /etc/nginx/conf.d/*. ...