字典(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. Mac下怎么运行python3的py文件

    我的Mac现在是10.14.6系统,默认自带的python版本是2.7.(怎么查看版本?打开终端,输入python即可看到版本号) 由于现在需要运行python3写的py文件,需要将自带的python ...

  2. IDEA远程调试hadoop程序

    远程调试Hadoop各组件 Hadoop学习之配置Eclipse远程调试Hadoop IDEA远程调试hadoop Hadoop 研发之远程调试详细剖析--WordCount V2.0 eclipse ...

  3. Hdu 5452 Minimum Cut (2015 ACM/ICPC Asia Regional Shenyang Online) dfs + LCA

    题目链接: Hdu 5452 Minimum Cut 题目描述: 有一棵生成树,有n个点,给出m-n+1条边,截断一条生成树上的边后,再截断至少多少条边才能使图不连通, 问截断总边数? 解题思路: 因 ...

  4. Investigation LightOJ - 1068

    Investigation LightOJ - 1068 常规数位dp题,对于不同k分开记忆化.注意:k大于82(1999999999的数位和)时不会有答案,直接输出0即可.还有,按照这种记录不同k时 ...

  5. 求n的因子个数与其因子数之和

    方法一:朴素算法:O(n). #include<bits/stdc++.h> using namespace std; int get_num(int n){ ; ;i<=n;++i ...

  6. MVC模式到传统风格的Spring MVC

    现在我们要做个简单的基于servlet的MVC的模型,我们要有一个Product要从表单处获取. MVC中的M是模型,V是视图,C是控制器.视图负责应用的展示,模型封装了数据和业务逻辑,控制器负责接收 ...

  7. F. Anton and School 位运算 + 化简

    http://codeforces.com/contest/734/problem/F 因为 x + y = (x & y) + (x | y) 有了这个公式后,然后应该手动模拟一下,把公式化 ...

  8. 在js中怎样获得checkbox里选中的多个值?(jQuery)

    思路:利用name属性值获取checkbox对象,然后循环判断checked属性(true表示被选中,false表示未选中).下面进行实例演示: 1.HTML结构 <input type=&qu ...

  9. 【学习笔记】深入理解js原型和闭包(11)——执行上下文栈

    继续上文的内容. 执行全局代码时,会产生一个执行上下文环境,每次调用函数都又会产生执行上下文环境.当函数调用完成时,这个上下文环境以及其中的数据都会被消除,再重新回到全局上下文环境.处于活动状态的执行 ...

  10. react ant design路由配置

    最初的时候,只使用了antd中的menu,header和footer都是自己写的组件,在写路由时,总是报如下错误: 相关的路由配置如下: 在网上查的说是组件未暴露出去或者是return 这一行必须有个 ...