字典的增删改查 daty 5
字典:python中非常重要的数据类型,在python中唯一一个映射的数据类型
数据类型分类
按照数据可变与不可变:
# 不可变数据类型: int str bool tuple
# 可变数据类型: list,dict,set 1 键值对
#字典的 key:value# key 是唯一的 且是不可变数据类型 int,str bool tuple #value:任意数据类型
2 . 增加数据
dic = {"name":"jin","age":18,"sex":"male"}
#增 dic['key'] = value
# 有key 就覆盖,没有key就添加.
# dic['name2'] = '依米' #没有key name2 就会添加新数据
# print(dic)
# dic['name'] = '王子' #有key name 那么name的值就会被替代
# print(dic)
结果:
.setdefault 方法有key不变, 没有key才添加.
dic = {"name":"jin","age":18,"sex":"male"}
#有key不变,没有key才添加. # dic.setdefault('hobby') #没有会添加 # print(dic) # dic.setdefault('hobby','开船')#有就不会变
# print(dic)
# dic.setdefault('name','太白')#有就不会变
# print(dic)
结果:
3. 删
.pop 按key删除,有返回值,并且如果没有此key,可设置返回值
dic = {"name":"jin","age":18,"sex":"male"}
ret = dic.pop('sex')
print(ret)
ret = dic.pop('sex1','没有此键')
print(ret)
结果:
清空和删除 clear是清空数据 字典还存在 del是删除字典
dic = {"name":"jin","age":18,"sex":"male"}
dic.clear()
print(dic)
# del 删除字典,删除键值对
del dic
print(dic)
结果:
.popitem()随机删除一个数据,并产生返回值. 但是python3.6版本以后默认删除最后一个数据
dic = {"name":"jin","age":18,"sex":"male"}
#popitem() 随机删除
ret = dic.popitem()
print(ret)
print(dic)
结果:
4. 改
dic = {"name":"jin","age":18,"sex":"male"}
# 改
#dic['key'] = value
# 有key 就覆盖.
dic["name"]=(1)
结果:
update 将dic的键值对,覆盖,添加到dic2 中,dic不变
dic = {"name":"jin","age":18,"sex":"male"}
dic2 = {"name":"alex","weight":75}
dic2.update(dic)
print(dic)
print(dic2)
结果:
5 查
.get方法通过key找值,如果没有可以加值告知 不添加默认为none
dic = {"name":"jin","age":18,"sex":"male"}
# 查
print(dic['name']) #输入key 找对应value
print(dic.get('name'))
print(dic.get('name2','没有此键值对'))
print(dic)
结果:
a,b能同时赋值,只要后面有两个元素, int list dict tuple等类型都行
a = 1 #一行代码实现a,b值互换
b = 3
a,b = b,a
print(a,b)
a,b = ['alex','wusir']
print(a,b)
a,b = ('alex','wusir')
print(a,b)
结果:
6 找出所有key
dic = {"name":"jin","age":18,"sex":"male"}
for k in dic:
print(k)
for k in dic.keys():
print(k)
7 找出所有values
dic = {"name":"jin","age":18,"sex":"male"}
for v in dic.values():
print(v)
结果:
8 找出所有键值对;
dic = {"name":"jin","age":18,"sex":"male"}
for k,v in dic.items():
print(k,v) for k in dic:
print(k,dic[k])
结果:
9 字典的嵌套
dic = {
'name':'金鑫',
'name_list':[1,2,3,'李杰'],
1:{
'python10':['小黑','萌哥'],
'老男孩':{'name':'oldboy','age':56}
}
}
#1,[1,2,3,'李杰']追加'wusir'
#2, ['小黑','萌哥'] 小黑 萌哥中间 插入一个花哥
#3, {'name':'oldboy','age':56} 添加一个键值对,hobby:男人
dic['name_list'].append('wusir')
print(dic)
l = dic[1]['python10']
l.insert(1,'花哥')
print(dic)
dic1 = dic[1]
dic2 = dic1['老男孩']
dic2['hobby'] = '男人'
结果:
字典的增删改查 daty 5的更多相关文章
- DAY5(PYTHON) 字典的增删改查和dict嵌套
一.字典的增删改查 dic={'name':'hui','age':17,'weight':168} dict1={'height':180,'sex':'b','class':3,'age':16} ...
- 字典(dict),增删改查,嵌套
一丶字典 dict 用{}来表示 键值对数据 {key:value} 唯一性 键 都必须是可哈希的 不可变的数据类型就可以当做字典中的键 值 没有任何限制 二丶字典的增删改查 1.增 dic[k ...
- 2018.8.1 python中字典的增删改查及其它操作
一.字典的简单介绍 1.dict 用{}来表示 键值对数据 {key:value} 唯一性 2.键都必须是可哈希,不可变的数据类型就可以当做字典中的键 值没有任何限制 ...
- python字典的增删改查
字典dict 知识点: {}括起来,以键值对形式存储的容器性数据类型: 键-必须是不可变数据类型,且是唯一的: -值可以是任意数据类型.对象. 优点:关联性强,查询速度快. 缺点:以空间换时间. 字典 ...
- day6 note 字典的增删改查(以及setdefault用法补充)
今天的内容主要是join的用法和字典的用法,由于已经有前面的列表作为基础,所以还比较简单,不过因为昨天的作业比较难也比较多,所以作业的讲解占用的时间比较长.我需要好好消化一下作业的部分. 思维导图: ...
- python基础之字典以及增删改查
字典:字典是python中唯一的一个映射类型,主要形式为 dic = {key1:value,key2:value2,....} 字典中key的值是唯一的,主要关系到HASH算法,并且key的值必须是 ...
- python字典的增删改查操作
一.字典 (键值对) 1.字典的基本格式:{key1:1,key2:2} 2.字典里的键必须是不可变的(如:数字,字符串,元组,bool值);值是可变的,可用数字,字符串,列表,字典等. 3.字典里 ...
- python 字典使用——增删改查
创建字典 dict= {key1 : value1, key2 : value2 } key : value 为键值对 增: dict[key] = value 删: del dict[key] 改: ...
- Python 基础字典的增删改查
# 字典相关的代码## 1.字典的特性:a 字典的无序性: b 数据关联性强 C 键键值对 唯一一个映射数据类型# 字典的键必修二是可哈希的(不可变的数据类型:,字符串,数字的,布尔值,元祖)# 并且 ...
随机推荐
- HashMap 实现总结
Entry类中需包含键值的hash值,防止resize时的重复计算: Map容量为2的整幂,可使用位操作取代取余操作提高效率: resize时需要将原table的桶内数据置null,利于垃圾回收: h ...
- 解决eclipse+adt出现的 loading data for android 问题
因为公司最近做的项目中有用到一些第三方demo,蛋疼的是这些demo还比较旧...eclipse的... 于是给自己的eclipse装上了ADT插件,但是...因为我的eclipse比较新,Versi ...
- HTML+CSS基础课程三
1.文字排版--字体 我们可以使用css样式为网页中的文字设置字体.字号.颜色等样式属性.下面我们来看一个例子,下面代码实现:为网页中的文字设置字体为宋体. body{font-family:&quo ...
- Arcgis Runtime 100.3开发实例源代码调试日志
Arcgis Runtime 100.3开发实例源代码调试日志 路径: "D:\arcgis runtime1003\arcgis-runtime-samples-dotnet-master ...
- web自动化测试中接口测试学习笔记
一.web基础 web是实现:客户端浏览器端<—————>服务端 交互的应用: web通常包含两部分:web客户端.web服务端:web客户端技术包含html.javascript.aj ...
- 'Could not find first log file name in binary log index file'的解决办法
数据库主从出错: Slave_IO_Running: No 一方面原因是因为网络通信的问题也有可能是日志读取错误的问题.以下是日志出错问题的解决方案: Last_IO_Error: Got fatal ...
- 学JS的心路历程-for of和for in
我们在刚入门JS时候,说到要跑出数组的每个值肯定都是这样子: var arr = [1,2,3,4,5,6]: for(let i = 0:i < arr.length:i++){ consol ...
- SPSS-相关分析
相关分析(二元定距变量的相关分析.二元定序变量的相关分析.偏相关分析和距离相关分析) 定义:衡量事物之间,或称变量之间线性关系相关程度的强弱并用适当的统计指标表示出来,这个过程就是相关分析 变量之间的 ...
- 解决iframe在iphone不兼容的问题
<div class="scroll-wrapper"> <iframe src="地址"></iframe> </d ...
- Html写作规范
HTML是描述网页结构的超文本标记语言,HTML规范能够使HTML代码风格保持一致,使得HTML更容易理解和维护. 整体结构 用编辑器快捷键一键搞定 <!DOCTYPE html>---- ...