一、什么是字典

  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. 在EditText插入表情,并发送表情

    在EditText插入表情,点击发送按钮,将qq表情显示在TextView中: [mw_shl_code=java,true]public class EditTextActivity extends ...

  2. densenet tensorflow 中文汉字手写识别

    densenet 中文汉字手写识别,代码如下: import tensorflow as tf import os import random import math import tensorflo ...

  3. (转)select、poll、epoll之间的区别总结[整理]

    select,poll,epoll都是IO多路复用的机制.I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作.但select ...

  4. C语言中的指针(一)

    指针也是一种数据类型,占用内存空间,内存中存储的只能是变量的地址. *p是操作内存的意思,在声明成为指针变量的时候使用*,在使用指针的时候,*表示操作内存. *p放在等号的左边,相当于是从内存中取值, ...

  5. super.onCreate(savedInstanceState) 以及onCreate(Bundle savedInstanceState, PersistableBundle persistentState)

    super.onCreate(savedInstanceState) 调用父类的onCreate构造函数. 当一个Activity在生命周期结束前,会调用onSaveInsanceState()这个回 ...

  6. 关于STM32中GPIO的8种工作模式

    CSDN:http://blog.csdn.net/l20130316 博客园:http://www.cnblogs.com/luckyalan/ 1 综述 I/O口是单片机中非常常用的外设,STM3 ...

  7. EntityFramework Code First 构建外键关系,数据库不生成外键约束

    创建 ExtendedSqlGenerator类 public class ExtendedSqlGenerator : SqlServerMigrationSqlGenerator { #regio ...

  8. 51Nod 1362 搬箱子 —— 组合数(非质数取模) (差分TLE)

    题目:http://www.51nod.com/Challenge/Problem.html#!#problemId=1362 首先,\( f[i][j] \) 是一个 \( i \) 次多项式: 如 ...

  9. UE4 框架

    转自:http://www.cnblogs.com/NEOCSL/p/4059841.html 有很多人是从UE3 接触到Unreal,如果你也对UE3非常了解,便能很快的上手UE4.但是,UE4的开 ...

  10. cocos2d-x CCHttpRequest获取网络图片并显示

    转自:http://www.cnblogs.com/hzj730/p/3178431.html //图片结构 class imgstruct : public CCObject { public: i ...