# dict
# 数据类型划分: 可变数据类型,不可变数据类型
# 不可变数据类型: 元组 bool int str set (又被称为可哈希)
# 可变数据类型: list dict (又被称为不可哈希)
# dict key 必须是不可变数据类型 可哈希
# value 任意数据类型 # dict优点: 二分查找去查询
# 存储大量的关系型数据
# 特点:无序的 # dic =
# 'name':['peng','fei'],
# 'py' :[{'num':71,'avg_age':18},{'num':71,'avg_age':18},{'num':71,'avg_age':18},
# {'num':71,'avg_age':18},
# ],
# True : 1,
# (1,2,3):'wuyiyi',
# 2:'pengfei'
#
#
#
# },
#
# print(dic) # dic1 = {'age':18,'name':'jin','sex':'male','k':'v'}
# 增
# dic1['height'] = 185 #没有这个键值对,添加
# print(dic1) #{'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v', 'height': 185}
# dic1['age'] = 16 #如果有键,则值覆盖
# print(dic1) #{'age': 16, 'name': 'jin', 'sex': 'male', 'k': 'v'} # dic1.setdefault('weight') #有键值对,不做任何改变,没有才添加
# print(dic1) #{'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v', 'weight': None}
# dic1.setdefault('weight',150)
# print(dic1) #{'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v', 'weight': 150}
# dic1.setdefault('name',17)
# print(dic1) #{'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v'} # 删
# print(dic1.pop('age')) # 18 有返回值,按 '键' 去删除
# # {'name': 'jin', 'sex': 'male', 'k': 'v'}
# print(dic1.pop('二哥',None)) # None 可设置返回值。若是没有上面的键,则会显示返回值 # print(dic1.popitem()) # 3.6及以上版本是末尾删除,有返回值,元组里面是删除的键值
# # 3.6以下版本是随机删除 有返回值,元组里面是删除的键值 # del dic1['name']
# print(dic1) #{'age': 18, 'sex': 'male', 'k': 'v'}
# del dic1
# print(dic1) # dic1.clear() #清空字典
# print(dic1) # 改 update
# dic1['age'] = 16 # dic = {'name':'jin','age':18,'sex':'male'}
# dic2 = {'name':'alex','weight':75}
# dic2.update(dic) #把一个字典当中的键值对覆盖添加到一个字典当中,
# # 原字典没有变化,只有更新的dic2才会变化
#
# print(dic)
# print(dic2) dic1 = {'age':18,'name':'jin','sex':'male','k':'v'}
# 查
# print(dic1.keys()) #dict_keys(['age', 'name', 'sex', 'k'])
# print(dic1.values()) #dict_values([18, 'jin', 'male', 'v'])
# print(dic1.items()) #dict_items([('age', 18), ('name', 'jin'), ('sex', 'male'), ('k', 'v')]) # for循环查找 默认查的是键
# for i in dic1:
# print(i)
# for i in dic1.values():
# print(i) # a,b =1,2
# print(a,b) # 面试题:一行代码使a,b的值互换
# a = 1
# b = 2
# a,b=b,a
# print(a,b) # 2 1 # a,b =[1,2],[2,3]
# a,b =(1,2)
# print(a,b)
# for i in dic1.items():
# print(i) # ('age', 18)
# # ('name', 'jin')
# # ('sex', 'male')
# # ('k', 'v')
# 若是想直接打印出key,value:
# for k,v in dic1.items(): #for循环中i 与 k,v接收的值不同
# #i是接收的元组,里面对应的是键值,k,v是分别接收 键,值
# print(k,v) # age 18
# # name jing
# # sex malek
# # k v # v1 = dic1['name']
# print(v1) #可以打印出对应的值:jin
# v2 = dic1['name1'] #若在字典中没有此键。 会报错
# print(v2) # print(dic1.get('name1','sss')) #若字典中没有此键,默认返回值为none.可以修改返回值
# print(dic1.get())

dict 增删改查的更多相关文章

  1. 字典(dict),增删改查,嵌套

    一丶字典 dict 用{}来表示  键值对数据  {key:value}  唯一性 键 都必须是可哈希的 不可变的数据类型就可以当做字典中的键 值 没有任何限制 二丶字典的增删改查 1.增 dic[k ...

  2. python 字典dict 增删改查操作

    初始化: a. data_dict = {} b. data_dict1 = dict() c. data_dict2 = {'key':'value'} 新增: a. data_dict[key]= ...

  3. DAY5(PYTHON) 字典的增删改查和dict嵌套

    一.字典的增删改查 dic={'name':'hui','age':17,'weight':168} dict1={'height':180,'sex':'b','class':3,'age':16} ...

  4. iOS CoreData 增删改查详解

    最近在学习CoreData, 因为项目开发中需要,特意学习和整理了一下,整理出来方便以后使用和同行借鉴.目前开发使用的Swift语言开发的项目.所以整理出来的是Swift版本,OC我就放弃了. 虽然S ...

  5. 页面循环绑定(变量污染问题),js面向对象编程(对象属性增删改查),js字符串操作,js数组操作

    页面循环绑定(变量污染问题) var lis = document.querySelectorAll(".ul li") for ( var i = 0 ; i < lis. ...

  6. python之路day05--字典的增删改查,嵌套

    字典dic 数据类型划分:可变数据类型,不可变数据类型 不可变数据类型:元组,bool,int str -->可哈希可变数据类型:list,dict,set --> 不可哈希 dict k ...

  7. 通过flask实现web页面简单的增删改查bootstrap美化版

    通过flask实现web页面简单的增删改查bootstrap美化版 项目目录结构 [root@node1 python]# tree -L 2 . ├── animate.css ├── fileut ...

  8. 通过flask实现web页面简单的增删改查

    通过flask实现web页面简单的增删改查 # 1.后台程序falsk_web01.py #coding:utf-8 from flask import Flask,render_template,r ...

  9. python操作三大主流数据库(2)python操作mysql②python对mysql进行简单的增删改查

    python操作mysql②python对mysql进行简单的增删改查 1.设计mysql的数据库和表 id:新闻的唯一标示 title:新闻的标题 content:新闻的内容 created_at: ...

随机推荐

  1. Python pika, TypeError: exchange_declare() got an unexpected keyword argument 'type' 问题修复

    网上很多写法都是 type='fanout' 这样的.(这里是基于python=3.6版本, pika=0.13.0 版本) credentials = pika.PlainCredentials(' ...

  2. C++面试笔记--STL模板与容器

    1.C++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构操作.vec ...

  3. java的import关键字的使用

    在java中如何使用Java包中自带的类呢? 方法一: 在使用时可以用Java.(包名).(方法名).(包中的类名): 例如:Java.util.Arrays.toString(某个要排序数组); 具 ...

  4. c#写对象来读取TXT文本文件

    本博文让你知道怎样写对象,怎样读取文本文件,怎样根据实际条件判断与获取需要的文本行.参考下面网友的问题,根据源文来看,有些行输出的格式,需要把“,”替换为空格. 第一行还附加入后面的子行每一行的后面, ...

  5. ScriptableObject

    什么是ScriptableObject? 点击查看Unity官网的描述 直译过来就是“脚本化对象”,换言之这类作为存储结构化的数据来使用,并写入Unity的资源.asset文件去存储一组数据,取用的时 ...

  6. Glassfish Password Alias

    https://docs.oracle.com/cd/E19798-01/821-1751/ghgqc/index.html

  7. MVC与三层的区别

    闲来无事,想了想MVC与三层的区别,根据自己的经验,上图 由此来看,其实这两种框架(结构)的分层方式其实没什么联系,也没有什么可比性,但他们的目的都一样的:解耦 --Ones

  8. Number BZOJ3275 最大流

    有N个正整数,需要从中选出一些数,使这些数的和最大. 若两个数a,b同时满足以下条件,则a,b不能同时被选 1:存在正整数C,使a*a+b*b=c*c 2:gcd(a,b)=1 Sample Outp ...

  9. 雷林鹏分享:jQuery EasyUI 数据网格 - 添加查询功能

    jQuery EasyUI 数据网格 - 添加查询功能 本实例演示如何从数据库得到数据,并将它们显示在数据网格(datagrid)中.然后演示如何根据用户输入的搜索关键词搜寻显示结果. 创建数据网格( ...

  10. SQL case when then end根据某列数据内容在新列显示自定义内容

    ') then '实习' ' ) then '赤脚医生' ' ) then '村卫生员' ' ) then '乡卫生员' ' ) then '镇卫生员' ' ) then '医师' ' ) then ...