day6 字典的增减查删
字典的使用
一、字典的特性
字典是无序的,数据关联性强,键值对,唯一一个映射的数据类型
字典的键必须是可哈希的(不可变的数据类型:字符串,数字,布尔值,元祖),并且是唯一的
不可哈希的(可变的数据类型:列表,字典,集合)
二、字典的增

# 直接增加
dic = {'name':'alex','age':56,'hobby':'oldwomen'}
dic['weight'] = 75 # 如果不存在则直接添加
dic['name'] = 'ritian' # 如果存在则会替换原有的值
print(dic)
# setdefault有键值对不做改变,没有才会添加
dic = {'name':'alex','age':56,'hobby':'oldwomen'}
dic.setdefault('k') # 'k'的值默认为None
dic.setdefault('k','v') # 'k'的值为'v'
dic.setdefault('name','v') # 如果有这个键,则不会有改变,没有这个键才会添加
print(dic)

三、字典的删

# pop删除,有返回值
dic = {'name':'alex','age':56,'hobby':'oldwomen'}
print(dic.pop('name')) # 按照键删除,返回键对应的值
# print(dic.pop('123')) # 如果键不存在则会报错
print(dic.pop('123','没有不报错')) # 此时如果没有键会返回'没有不报错',逗号后面为返回值
# popitem随机删除键值对
print(dic.popitem()) # 随机删除键值对,会将删除的键值对以元祖的形式返回
# clear清空
dic.clear()
print(dic)
# del删除
# del dic['name'] # 如果没有这个键会报错
print(dic)

四、字典的改

# 直接修改
dic = {'name':'alex','age':56,'hobby':'oldwomen'}
dic['name'] = 'jinxin'
print(dic)
# update更新
dic = {'name':'alex','age':56,'hobby':'oldwomen'}
dic1 = {'name':'barry','job':'teacher'}
dic.update(dic1)
print(dic) # 将dic1的覆盖dic,dic中有的覆盖,没有的添加进来
print(dic1) # dic1不变

五、字典的查
# 直接查
dic = {'name':'alex','age':56,'hobby':'oldwomen'}
print(dic['name']) # 如果键没有会报错
# get
print(dic.get('name')) # 如果没有这个键会返回None
print(dic.get('name','没有这个键')) # 如果没有这个键会返回'没有这个键'
六、字典的特殊用法

# 字典里特殊的用法
dic = {'name':'alex','age':56,'hobby':'oldwomen'}
print(dic.keys()) # dict_keys(['age', 'hobby', 'name'])将所有的键放入一个列表
for key in dic.keys(): # for i in dic:效果等同
print(key) print(dic.values()) # dict_values([56, 'oldwomen', 'alex'])将所有的值放入一个列表
for value in dic.values():
print(value) print(dic.items()) # dict_items([('age', 56), ('hobby', 'oldwomen'), ('name', 'alex')])
for key,value in dic.items():
print(key,value)

day6 字典的增减查删的更多相关文章
- python中字典的‘增、删、改、查’
python 字典的'增.删.改.查' 用 ipython 运行情况如下: #新建字典 In [1]: infos = {'name':'dongge','age':18} In [2]: infos ...
- mysql 中的增改查删(CRUD)
增改查删可以用CURD来表示 增加:create 修改:update 查找:read 删除:delete 增加create : insert +表名+values+(信息): in ...
- 二.2vueadmin-template反向代理/路由配置,idc增查删
一.反向代理: (1)F:\devops\data\web\vueAdmin-template\config\index.js ---让别人也能访问我的vue前端 host: '0.0.0.0', ( ...
- 【基础篇】js对本地文件增删改查--删
前置条件: 1. 本地有安装node,点击传送门 项目目录: 1. msg.json内容 { "data": [ { "id": 1, "name&q ...
- Python基础学习Day5 字典的增、删、改、查的用法 分别赋值
一.字典的介绍 字典:字典是Python的基础数据类型之一:字典可以存储大量数据,关系型数据. 同样是Python中唯一的映射类数据类型. 数据类型的分类: 可变的数据类 ...
- 05、python的基础-->字典的增、删、改、查
1.字典的增 dict = {'age':19,'name':'老王','hobby':'girl'} dict['sex'] = 'boy' #没有键值对,直接添加 dict[' #有键值对,覆盖值 ...
- Python中列表、元组、字典增删改查基本区别
1.定义: 列表:num = ["a","b"."c"] ##定义后可增删改查 元组:num = ("a"," ...
- python 全栈开发,Day5(字典,增删改查,其他操作方法)
一.字典 字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据.存储大量的数据,是关系型数据,查询数据快. 列表是从头遍历到尾字典使用二分查找 二分查找也称折半查找(Bi ...
- 【学习笔记】--- 老男孩学Python,day6 字典
详细方法:http://www.runoob.com/python/python-dictionary.html 1. dict 用大括号{} 括起来. 内部使用key:value的形式来保存数据 { ...
随机推荐
- Linux下配置Hadoop全分布式环境
1. 前提 部署全分布式环境,我们肯定不能在一台服务器上了,这里我用了7台服务器,在VMware上开了7个虚拟机,如下图所示: 我基本配置了一晚上才搞定,第一次配置一般都有错,这时候不妨去到hadoo ...
- CentOS装JDK1.8
1.下载jdk1.8:http://download.csdn.net/download/yichen01010/10017267 直接使用liunx下默认安装的浏览器 下载 2.卸载系统自带的jdk ...
- 编写Nginx启停服务脚本
在/etc/init.d/目录下创建脚本 vim /etc/init.d/nginx 编写脚本内容:(其中下面2行需要根据情况自行修改) nginxd=/opt/nginx/sbin/nginx ng ...
- DB2 SQL Error: SQLCODE=-668, SQLSTATE=57016错误解决方法
这个错误是:表处于"装入暂挂"状态. 经多次尝试 总结方法: 1:reorg table <表>: 假如不好使 则下面方法 2,先前尝试装入(LOAD)此表失败.表的状 ...
- hdu 3835:R(N)(水题,数学题)
R(N) Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- Hadoop1的安装
目前hadoop1的稳定版本是1.2.1,我们以版本1.2.1为例详细的介绍hadoop1的安装,此过程包括OS安装与配置,JDK的安装,用户和组的配置,这些过程在hadoop2也有可能用到. Had ...
- 把本地的jar包安装到maven库中
mvn install:install-file -Dfile=E:\temp\catV1\cat-client\trunk\CAT_v1.1.1\cat-consumer\target\cat-co ...
- rabbitmq 3.6.11 centos 7 安装
http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64.rpm http://www.rabbitmq.co ...
- java was started but returned exit code=1
将eclipse.ini文件删掉, 重启eclipse 会自动生成一个eclipse.ini就可以了~
- ssh框架搭建出现的问题和解决
[说明]今天尝试从头开始搭建ssh 框架, 真心是有点不太容易,可能是第一次吧,之前都是小打小闹. 一:今日完成 搭建 Spring 环境 --> 然后搭建 Hibernate 环境 --> ...