Python基础学习Day5 字典的增、删、改、查的用法 分别赋值
一、字典的介绍
字典:字典是Python的基础数据类型之一:字典可以存储大量数据,关系型数据。
同样是Python中唯一的映射类数据类型。
         数据类型的分类:
        可变的数据类型:list,dic
        不可变的数据类型:str ,int ,bool,tuple
特点:
       键值对的形式存在,键:值
      字典的键必须是不可变的数据类型。(工作中:都是由 数字或者str组成)
     字典的值可以是任意数据类型
优点 : 
       字典可以存储大量的数据,关系型数据。
       查询速度快
注意:
        python3.5之前包括3.5版本,字典是无序的。
       python3.6开始是有序的。
二、增
方法一:
dic1 = {'name': '太白', 'age': 25, 'sex': 'M'}
dic1['sex'] = '男'
dic1['name'] = 'alex'   # 通过键去增或者改
dic1['job'] = 'it'
print(dic1)
方法二:
dic1 = {'name': '太白', 'age': 25, 'sex': 'M'}
dic1.setdefault('job','it')
dic1.setdefault('name', 'alex')
print(dic1)
# setdefault 有次key则不做任何操作但是返回对应值,无此key则添加
结果为:
{'name': '太白', 'age': 25, 'sex': 'M', 'job': 'it'}
三、删
方法一:
dic1 = {'name': '太白', 'age': 25, 'sex': 'M'}
# pop 通过键去删除键值对,也返回值。
print(dic1.pop('name'))
print(dic1)
结果为:
  太白
{'age': 25, 'sex': 'M'}
print(dic1.pop('name1', None)) # None 可以使任意内容
print(dic1.pop('name1', '没有此键。。。'))
结果为:
None
没有此键。。。
方法二:
#clear 清空
dic1 = {'name': '太白', 'age': 25, 'sex': 'M'}
dic1.clear()
print(dic1)
结果为:
{}
方法三:
# popitem # 删最后一个3.6 随机删除3.5
dic1 = {'name': '太白', 'age': 25, 'sex': 'M'}
print(dic1.popitem())
print(dic1)
结果为:
('sex', 'M')
{'name': '太白', 'age': 25}
方法四:
# del
# (1) 按照键去删除
dic1 = {'name': '太白', 'age': 25, 'sex': 'M'}
del dic1['name']
print(dic1)
结果为:
{'age': 25, 'sex': 'M'} # (2) 内存级别的删除字典
dic1 = {'name': '太白', 'age': 25, 'sex': 'M'
del dic1
print(dic1)
结果为:
直接报错
# (1)两个字典 update
dic = {'name':'jim','age':18,'sex':'M'}
dic2 = {'name':'alex','weight':75}
dic.update(dic2) # 将dic2中的所有键值对覆盖并添加到dic中,dic2不变。
print(dic)
print(dic2)
结果为:
{'name': 'alex', 'age': 18, 'sex': 'M', 'weight': 75}
{'name': 'alex', 'weight': 75} # (2) update 可以直接将字符串添加到列表
dic = {'name':'jim','age':18,'sex':'M'}
dic.update(a='', b='', name='taibai')
print(dic)
结果为:
{'name': 'taibai', 'age': 18, 'sex': 'M', 'a': '', 'b': ''}
四、改
方法一:
dic1 = {'name': '太白', 'age': 25, 'sex': 'M'}
dic1['sex'] = '男'
dic1['name'] = 'alex'   # 通过键去增或者改
dic1['job'] = 'it'
print(dic1)
方法二:
# (1)两个字典 update
dic = {'name':'jim','age':18,'sex':'M'}
dic2 = {'name':'alex','weight':75}
dic.update(dic2) # 将dic2中的所有键值对覆盖并添加到dic中,dic2不变。
print(dic)
print(dic2)
结果为:
{'name': 'alex', 'age': 18, 'sex': 'M', 'weight': 75}
{'name': 'alex', 'weight': 75} # (2) update 可以直接将字符串添加到列表
dic = {'name':'jim','age':18,'sex':'M'}
dic.update(a='', b='', name='taibai')
print(dic)
结果为:
{'name': 'taibai', 'age': 18, 'sex': 'M', 'a': '', 'b': ''}
五、查
方法一:
# 根据键去查
dic1 = {'name': '太白', 'age': 25, 'sex': 'M'}
print(dic1['name'])
print(dic1['name1']) # 没有该键即直接报错
方法二:
# (2) get方法
dic1 = {'name': '太白', 'age': 25, 'sex': 'M'}
print(dic1.get('name'))
print(dic1.get('name1'))
print(dic1.get('name1','没此键。。。')) # 可以为任意值
结果为:
太白
None
没此键。。。
方法三:
# (3)key方法
dic1 = {'name': '太白', 'age': 25, 'sex': 'M'}
print(dic1.keys(), type(dic1.keys())) # 类似于列表的容器中
l1 = list(dic1.keys()) # 可以转化成list
print(l1)
for key in dic1.keys(): # 可以遍历(查看)
print(key)
结果为:
dict_keys(['name', 'age', 'sex']) <class 'dict_keys'> ['name', 'age', 'sex'] name
age
sex
方法四:
# (4)values方法
dic1 = {'name': '太白', 'age': 25, 'sex': 'M'}
print(dic1.values()) # 可以转化成list ,可以遍历(查看)
print(list(dic1.values()))
结果为:
dict_values(['太白', 25, 'M'])
['太白', 25, 'M']
方法五:
# (4)items方法
dic1 = {'name': '太白', 'age': 25, 'sex': 'M'}
print(dic1.items()) # 可以转化为list ,可遍历(查看)
print(list(dic1.items()))
for k, v in dic1.items():
print(k, v) # 分别赋值
结果为:
dict_items([('name', '太白'), ('age', 25), ('sex', 'M')])
[('name', '太白'), ('age', 25), ('sex', 'M')]
name 太白
age 25
sex M
六、分别赋值
# 分别赋值 # 面试题
a , b = 10,20
a ,b = b,a
print(a,b) 结果为:
20 10
Python基础学习Day5 字典的增、删、改、查的用法 分别赋值的更多相关文章
- 好用的SQL TVP~~独家赠送[增-删-改-查]的例子
		
以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化. 本系列主要是针对T-SQL的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础] ...
 - django ajax增 删 改 查
		
具于django ajax实现增 删 改 查功能 代码示例: 代码: urls.py from django.conf.urls import url from django.contrib impo ...
 - iOS FMDB的使用(增,删,改,查,sqlite存取图片)
		
iOS FMDB的使用(增,删,改,查,sqlite存取图片) 在上一篇博客我对sqlite的基本使用进行了详细介绍... 但是在实际开发中原生使用的频率是很少的... 这篇博客我将会较全面的介绍FM ...
 - iOS sqlite3 的基本使用(增 删 改 查)
		
iOS sqlite3 的基本使用(增 删 改 查) 这篇博客不会讲述太多sql语言,目的重在实现sqlite3的一些基本操作. 例:增 删 改 查 如果想了解更多的sql语言可以利用强大的互联网. ...
 - ADO.NET 增 删 改 查
		
ADO.NET:(数据访问技术)就是将C#和MSSQL连接起来的一个纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中 也可以将数据库中的数据提取到内存中供程序调用 ADO.NET所有数据访 ...
 - MVC EF 增 删 改 查
		
using System;using System.Collections.Generic;using System.Linq;using System.Web;//using System.Data ...
 - python基础中的四大天王-增-删-改-查
		
列表-list-[] 输入内存储存容器 发生改变通常直接变化,让我们看看下面列子 增---默认在最后添加 #append()--括号中可以是数字,可以是字符串,可以是元祖,可以是集合,可以是字典 #l ...
 - python基础学习笔记——字典
		
字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 { ...
 - Python 基础学习之字典
		
1.基础代码 ##第六章 字典学习 test={'} print(test['a']) print(test['b']) 返回结果为: black123 2.基础知识: Python中的字典是一系列键 ...
 
随机推荐
- oracle比较一行的最大值或最小值
			
1. COALESCE 返回该表达式列表的第一个非空value. 格式: COALESCE(value1, value2, value3, ...) 含义: 返回value列表第一个非空的值. val ...
 - three.js学习:点光源+动画的实现
			
与前几个教程类似,场景和相机等设置就不再重复声明了.这里只列出新学的内容. 1.圆柱体(圆锥体)的初始化 function initObject() { var geometry = new THRE ...
 - python连接数据库——create_engine和conn.cursor
			
python操作数据库的方法: 一种是导入sqlalchemy包,另一种是导入psycopg2包. 具体用法如下(此处以postgre数据库举例) 第一种: # 导入包 from sqlalchemy ...
 - Linux  Git install
			
1.介绍 使用Coding管理项目,上面要求使用的git版本为1.8.0以上,而很多yum源上自动安装的git版本为1.7,所以需要掌握手动编译安装git方法. 2.安装git依赖包 yum inst ...
 - [转]IISExpress配置使其能通过IP访问方法
			
转自http://www.cnblogs.com/liujh/p/4315927.html 环境说明: 本机IP:192.168.2.100:Web端口:11843 步骤一 打开[我的文档]\IISE ...
 - Eclipse properties.config.yml 配置文件中文编码问题。Eclipse 配置文件插件解决方案
			
写了中文默认转成unicode. 正常应该是这样子的 其实不是什么大问题只需要装一个插件就行了,插件有很多.推荐使用,Properties Editor 安装方式如下 .这里使用的是离线安装.即本地文 ...
 - MYSQL 优化常用方法(转载)
			
1.选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快.因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽 ...
 - Flex验证器 validate stringvalidate
			
1 validate <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns: ...
 - java位运算(操作)的使用
			
位操作是程序设计中对位模式按位或二进制数的一元和二元操作. 在许多古老的微处理器上, 位运算比加减运算略快, 通常位运算比乘除法运算要快很多. 在现代架构中, 情况并非如此:位运算的运算速度通常与加法 ...
 - SonarQube与Eclipse配合
			
Sonar安装 下载Sonar 点击下面网址下载Sonar: http://dist.sonar.codehaus.org/sonar-3.5.1.zip ,下载后解压 解压后安装 解压后你将要看到如 ...