一、什么是字典

  dict 用{}表示,用来存放键值对数据

  {key:value}

  键:具有唯一性,不能重复,不可变

    必须是可哈希的(不可变的数据类型)

    字典是无序的,没有索引

  值: 没有任何限制

 已知的可哈希(不可变)的数据类型:int,str,bool,tuple

 不可哈希(可变)的数据类型:list,dict,set

  语法:{key1 : value1 , key2 : value2 … }

二.字典的增/删/改/查

2.1增

 dic['key'] = value新增.如果键存在于字典中,则强制修改

#当这个键没在字典中就是添加

setdefult(key,value)如果键在字典中存在,则不进行任何操作,不存在则进行添加

 2.2删

  pop(key)通过键删除,返回被删除的值

  del dic[key]  没有返回值

  dic.clear()   清空字典

  dic.popitem()  随机删除,返回一个元组(key,value)

  

    dic = {"jay":"who","i":"wang","zhao":"jie","niu":"li"}
ret = dic.pop("jay") #pop有返回值,返回被删除的value值
print(ret) #结果为:who
del dic["i"]
print(dic)
ret = dic.popitem() # 随机删除,返回一个元组(删除的key , 删除的value),可以用解构 k , v = dic.popitem()
print(ret) #结果为:('niu', 'li')
print(dic) # 清空字典

  2.3改

  

字典的修改操作有:dic[key] = value,dic.update(),具体如下示例代码:

  2.4查

  for 循环 默认获取字典中的键

  dic[key] 通过键查询,查不到会报错

  dic.get(key)  查不到时候返回None

  setdefault(key)  没有返回值

  

三、字典中独特的操作方法

  keys    values    items

  dic.keys()   得到一个高仿列表,可迭代。获取到字典中的每一个键

  dic.values  获取字典中的每一个值,得到一个仿真列表

  dic.items      获取到所有的键值对以元组的形式存在一个高仿的列表中;

字典的修改操作有:dic[key] = value,dic.update(),具体如下示例代码:

print(dic.keys())  # (高仿列表)

print(dic.values())  # (高仿列表)

print(dic.items())

for i in dic.keys():

print(i)

for i in dic:

print(i)     #获取到字典中的每一个键

for i in dic.values():

print(i)     #获取到字典中的每一个值

for i in dic.items():

print(i)       #获取到字典中的每一个键值对

四、解构(解包)

a,b = '12'   #将后边解构打开按位置赋值给变量 支持  字符串 列表 元组

print(a)

print(b)

dic = {'易大师':'剑圣','剑豪':'托儿所','草丛伦':'大宝剑'}

for a,b in dic.items():

print(a)

print(b)

dic1 = {}

dics = dic1.fromkeys([1,2,3],'abc')

五、字典的嵌套
  与列表的嵌套相似,一层一层看。

dic = {

'name':'汪峰',

'age':43,

'wife':{

'name':'国际章',

'age':39,

'salary':100000

},

'baby':[

{'name':'熊大','age':18},

{'name':'熊二','age':15},

]

}

dic['baby'][0]['age'] = 19

print(dic)

python之字典的相关操作的更多相关文章

  1. python的字典及相关操作

    一.什么是字典 字典是Python中最强大的数据类型之一,也是Python语言中唯一的映射类型.映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的的关系,通常被认为是可变的哈希 ...

  2. Python中字典的相关操作

    1. Python类似于Java中的哈希表,只是两种语言表示的方式是不一样的,Python中的字典定义如下: 在Python中是一种可变的容器模型,它是通过一组键(key)值(value)对组成,这种 ...

  3. Python 基础之集合相关操作与函数和字典相关函数

    一:集合相关操作与相关函数 1.集合相关操作(交叉并补) (1)intersection() 交集 set1 = {"one","two","thre ...

  4. python数据类型:字典dict常用操作

    字典是Python语言中的映射类型,他是以{}括起来,里面的内容是以键值对的形式储存的: Key: 不可变(可哈希)的数据类型.并且键是唯一的,不重复的. Value:任意数据(int,str,boo ...

  5. python对数据类型的相关操作

    一.int的相关操作 int只有一个相关操作,bit_length()   用于计算一个数字的二进制长度 二.bool的相关操作 1.把数字转换成bool,除了0,返回的都是True a = 10 p ...

  6. day07-Python运维开发基础(深/浅拷贝、字典/集合/相关操作)

    1. 深拷贝与浅拷贝 # ### 深拷贝 和 浅拷贝 """ a = 7 b = a a = 8 print(b) lst1 = [1,2,3] lst2 = lst1 ...

  7. 026.Python面向对象类的相关操作以及对象和类的删除操作

    类的相关操作 定义的类访问共有成员的成员和方法 定义的类动态添加公有成员的属性和方法 定义的类删除公有成员的属性和方法 1 定义一个基本的类 #定义一个类 class Plane(): #添加一个共有 ...

  8. 011.Python的列表的相关操作

    一 列表的相关操作 1.1  列表的拼接 lst1 = [1,2,3] lst2 = [4,5,6] res = lst1 + lst2 print(res) 执行 [root@node10 pyth ...

  9. Python字典及相关操作(内含例题)

    Python字典类型 今天将会介绍一种在python中十分常见的组合数据类型——字典 通过一些实例来理解字典中的常规操作 什么是字典类型? 列表中查找是通过整数的索引(元素在列表中的序号)来实现查找功 ...

随机推荐

  1. LoadRunner监控图表与配置(三)对系统与网络资源进行监控

    1.Windows可监控的性能计数器 2.UNIX可监控的性能计数器 3.性能计数器信息说明 Windows 性能对象 计数器 数值说明 System %Total Processor Time 系统 ...

  2. the art of seo(chapter eight)

    How Social Media and User Data Play a Role in Search Results and Rankings ***Correlation Between Soc ...

  3. python基础-大杂烩

    random()随机函数 import random print(random.choice('abcdefghij')) #随机取这些字母 print(random.choice(['apple', ...

  4. arm-linux-gcc4.4.3编译s3c2410平台linux内核

    写在前面:2.6.14版本的内核用arm-linux-gcc4.4.3没有编译成功,下载2.6.37版本的内核用arm-linux-gcc4.4.3编译通过. 一.首先下载linux内核: linux ...

  5. 【Lintcode】038.Search a 2D Matrix II

    题目: Write an efficient algorithm that searches for a value in an m x n matrix, return the occurrence ...

  6. poj3281Dining——网络流匹配

    题目:http://poj.org/problem?id=3281 网络流做图中的匹配,注意为了限制每头牛只匹配一种食物和一种饮料,要把牛拆成两个点,之间连边权为1的边. 代码如下: #include ...

  7. MFS安装配置使用

    MFS server:192.168.209.18groupadd mfsuseradd -g mfs mfscd /usr/srctar xzvf mfs-1.6.27-5.tar.gzcd mfs ...

  8. go http 下载视频(TS码流文件)(推荐一个网站学习 go example)

    视频  http下载代码 dn.go(注意:代码很ugly,没怎么花时间) 总体感觉特别简单,网上看了下 net/http ,io这2个库的使用, 几分钟就写完了,感觉cpp 在做工具这块 开发效率的 ...

  9. LeafLet之气泡框隐藏"x"图标

    例子:var marker.bindPopup( "我是一个图标的文本", { minWidth: 300 }).openPopup();L.Popup Constructor(函 ...

  10. AngularJs(Part 3)--注册服务

    有以下5中方法注册一个AngularJS可以识别的Service value和constant是两个极其简单的方法,只有少数情况下会使用. service已经开始复杂了起来.而factory是我认为既 ...