python字典的增删改查操作
一.字典 (键值对)
1.字典的基本格式:{key1:1,key2:2}
2.字典里的键必须是不可变的(如:数字,字符串,元组,bool值);值是可变的,可用数字,字符串,列表,字典等.
3.字典里的键必须是唯一的,不能重复的
(python36中是有顺序的打印,python35及以下版本中打印是无序的)
4字典里的操作:
增:
1.通过键值进行更改:dic[key] = 'values'(如果这个键不存在就自动添加,如果存在就会修改.)
2.dic.setdefault('key','values')逗号前是键,逗号后是值,如果后边不添加值就默认为None.(存在就不进行 添加,不存在就添加)
删:
1.注意字典中是没有remove方法的
2.dic.pop()注意括号中必须添加参数,参数是要删除的键,pop有返回值,返回的是被删除的值.
dic.popitem()随机删除一组键值对,python36删除的是最后对,python35及之前是随机删除一对
dic.popitem()也有返回值,返回值是一个由键和值组成的元组.
3.del dic() 删除整个字典
del dic('key') 括号中可添加键来指定删除
4.dic.clear() 清空字典,不能指定删除
改:
1.dic['key'] = 'value' 通过键进行修改(如果这个键存在就进行修改,不存在就进行添加)
2.update 更新
dic.update({'key':'value'}) 没有就会添加新的键值对,有就进行修改,可一次修改多个或添加多个
查:
1.通过print(dic['key'])进行查找,如果此键不存在就会报错
2.通过dic.get('key')进行查找,如果不存在不会报错,返回None.
dic = {1:2,'':8,False:True,(1,2,3):['','qw'],'周公':'移山'}
s = dic.get(4,'不存在') #不报错,默认返回None 可以自己定义返回值
print(s)
5.其他操作:
1.print(dic.keys())打印所有键,以列表形式打印,但不能查找下表
2.print(dic.values())以列表形式打印所有的值
3.print(dic.items())以元组形式将键值放在一个列表中
二.id is ==
1.id() 查看内存地址
name = 'alex'
print(id(name))
2.is 通过is查看是不是同一个内存地址(比较的是内存地址)
3.== 查看等号两边的值是否相等(比较的数值)
4.小数据池:
1.只有数字和字符串类型,小数据池的作用就是为了节省内存,多个代码块中是可以使用小数据池的
数字:-5~256在这个范围内指向的是同一内存地址
字符串是没有范围的
2.如果含有特殊字符,不存在小数据池
3.字符串乘法不能超过20个字符,0和1除外
python字典的增删改查操作的更多相关文章
- python 字典dict 增删改查操作
初始化: a. data_dict = {} b. data_dict1 = dict() c. data_dict2 = {'key':'value'} 新增: a. data_dict[key]= ...
- DAY5(PYTHON) 字典的增删改查和dict嵌套
一.字典的增删改查 dic={'name':'hui','age':17,'weight':168} dict1={'height':180,'sex':'b','class':3,'age':16} ...
- python字典的增删改查
字典dict 知识点: {}括起来,以键值对形式存储的容器性数据类型: 键-必须是不可变数据类型,且是唯一的: -值可以是任意数据类型.对象. 优点:关联性强,查询速度快. 缺点:以空间换时间. 字典 ...
- Python 字典的增删改查
dic = {"意大利": "李云龙","美国":"美国往事"} dic["日本"] = " ...
- python文件实现增删改查操作
# coding = utf-8 import os import json import re ''' 本程序旨在将练习基础知识部分,包括: 列表,元组,字典,文件,函数,字符串等知识 实现的功能: ...
- python 字典使用——增删改查
创建字典 dict= {key1 : value1, key2 : value2 } key : value 为键值对 增: dict[key] = value 删: del dict[key] 改: ...
- python 元组tuple 增删改查操作
初始化: data_tuple = () data_tuple1 = (1,) data_tuple2 = tuple() 新增: data_tuple+data_tuple1 (data_tuple ...
- 2018.8.1 python中字典的增删改查及其它操作
一.字典的简单介绍 1.dict 用{}来表示 键值对数据 {key:value} 唯一性 2.键都必须是可哈希,不可变的数据类型就可以当做字典中的键 值没有任何限制 ...
- python 全栈开发,Day124(MongoDB初识,增删改查操作,数据类型,$关键字以及$修改器,"$"的奇妙用法,Array Object 的特殊操作,选取跳过排序,客户端操作)
一.MongoDB初识 什么是MongoDB MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介 ...
随机推荐
- Jmeter进行接口流程测试
Jmeter进行简单的流程测试 此次完成的流程:添加文章-删除文章 总的如下: 一.测试计划 用户定义的变量中,我定义了3个变量: 二.HTTP cookie管理器 填写要添加的cookie 三.JD ...
- ROS学习(一)Ros 中使用kinect
上的安装说明如下: 官网上明确写了如果安装windows kinect还需要安装一个驱动,但是有些ROS的书上并没有这么做,只提到了使用如下两步进行安装即可使用: sudo apt-get insta ...
- java日志框架系列(7):logback框架Layout详解
1.Layout layout从字面意思来看就是排版.布局咯. 1.Layout简介 功能:负责把事件转换成字符串.Layout接口的格式化方法doLayout()负责将代表任何类型的事件的转换成一个 ...
- Java的设计模式(3)--工厂模式
工厂模式是定义一个用于创建对象的接口,让子类决定实例化哪一个类.工厂方法使一个类的实例化延迟到子类. 工厂模式涉及四种角色: 抽象产品(Product):抽象类或者接口,负责定义具体产品必须实现的方法 ...
- 订单服务,使用feign调用服务
通过feign实现订单中心(feign调用服务,在orderservice中调用product-server) 1.copy orderserver 为orderserverfeign ...
- S03_CH07_AXI_VDMA_OV5640摄像头采集系统
S03_CH07_AXI_VDMA_OV5640摄像头采集系统 7.1概述 本章内容和<S03_CH06_AXI_VDMA_OV7725摄像头采集系统>只是摄像头采用的分辨率不同,其他原理 ...
- 本地虚拟机NAT模式下怎么设置才可以访问外网
记:因为我要在本机虚拟机上安装Docker,结果发现虚拟机环境不能上网,是主机模式.我要调成net模式下才可以访问外网,这就需要怎么设置.下面文章记录一下. 在本机安装VMware软件后,系统中会自动 ...
- WebSocket协议探究(序章)
一 WebSocket协议基于HTTP和TCP协议 与往常一样,进入WebSocket协议学习之前,先进行WebSocket协议抓包,来一个第一印象. WebSocket能实现客户端和服务器间双向.基 ...
- Linux 安装Mysql(图文教程)
原文:Linux 安装Mysql(图文教程) 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net ...
- Java Web 深入分析(1)B/S架构概述
B/S结构即浏览器和服务器结构.它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构.在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实 ...