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的形式来保存数据 { ...
随机推荐
- maven项目编译:程序包com.sun.image.codec.jpeg不存在 这个类文件的位置在jre/lib/rt.jar
转载:http://superich2008.iteye.com/blog/2047830 失败提示信息为:程序包com.sun.image.codec.jpeg不存在 这个类文件的位置在jre/li ...
- [Python基础]Python文件处理小结
1. 文件的打开与关闭 <1>打开文件 在python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件 open(文件名,访问模式) 示例如下: f = open('te ...
- 在项目中用过Spring的哪些方面?及用过哪些Ajax框架?
在项目中用过Spring的哪些方面?及用过哪些Ajax框架? 解答:在项目使用过Spring IOC ,AOP,DAO,ORM,还有上下文环境. 在项目使用过Ext,Juery等Ajax框架.
- 【BZOJ】1857: [Scoi2010]传送带(三分)
http://www.lydsy.com/JudgeOnline/problem.php?id=1857 好神奇的三分.. 第一次写三分啊sad..看了题解啊题解QAQ 首先发现无论怎么走一定是在AB ...
- QT软件初次使用中遇到的若干问题及思考
1.QT窗口名称汉字设置问题? 答案:在MSVC中试用诸多方法,亲测都不行. 解决方案1:创建项目时,选择使用MSGW方案,用gcc进行编译,即可解决 2.QT中ui文件中组件不能再.cpp文件中显示 ...
- 手机控制电脑定时关机,重启WiFi
需求 晚上上床,电脑开着WiFi让手机上网.要么上床之前就给电脑设置定时关机:要么就电脑开通宵:要么就待会下来关电脑.这3种情况都非常不好,要么麻烦,要么浪费. 最无奈的是电脑刚开好WiFi,上床后才 ...
- JavaWeb中文乱码问题解决思路
1.提交页面请求或者服务器端的响应时,需要确保页面编码当时与服务器编码方式是否一致. 2.对于从服务器写入数据库中的数据和从数据库中读取到服务器中的数据,需要确保服务器编码方式与数据库编码方式是否一致 ...
- android应用安全——数据安全
数据安全包含数据库数据安全.SD卡数据(外部存储)安全.RAM数据(内部存储)安全. android中操作数据库可使用SQLiteOpenHelper或ContentProvider的方式.使用SQL ...
- 【BZOJ4382】[POI2015]Podział naszyjnika 堆+并查集+树状数组
[BZOJ4382][POI2015]Podział naszyjnika Description 长度为n的一串项链,每颗珠子是k种颜色之一. 第i颗与第i-1,i+1颗珠子相邻,第n颗与第1颗也相 ...
- Intellij IDEA Ultimate Edition 14.1 破解
key:IDEA value:61156-YRN2M-5MNCN-NZ8D2-7B4EW-U12L4 (2) key:huangwei value:97493-G3A41-0SO24-W57LI-Y2 ...