1. 数据类型划分:

(1) 不可变数据类型(可哈希):

元组, bool, int(123 就是123,不会变成其他数), str, 字典的keys

(2) 可变数据类型(不可哈希):

列表list, 字典dict, 集合set

2. 字典的key必须是不可变数据类型, 可哈希

字典的value, 任意数据类型

3. 字典的优点:二分查找去查询;存储大量的关系型数据

4. 字典的特点:python3.5以及之前的版本:无序

5. 增:

(1) dic1['high'] = 173

没有键值对,添加

存在键值对,则值覆盖

(2) setdefault()

没有则增加,存在则不变

6. 删:

(1) pop('kidd',None):

按键去删,有返回值;没有则报错,后面加None时,若没有,则返回None,有就直接删除(可设置返回值)

(2) popitem():

3.5版本随机删除, 3.6版本删除最后一个, 有返回值 (其实没啥意义)

(3) del:

del dic['name'] #没有则报错,故基本用pop()

del dic #直接删除这个字典

(4) clear():

清空字典:dic.clear()

7. 改:

(1) 直接改

(2) update():

dic2.update(dic) # 将dic所有的键值对覆盖添加(相同的覆盖,没有的添加)到dic2中

8. 查:

(1) value1 = dic["name"] # 没有会报错

(2) get():

value2 = dic.get("hssghash","默认返回值") # 没有可以返回设定的返回值

9. 面试题:

(1) 用一行代码转换a,b的值

a = 1
b = 2
a, b = b, a
print(a, b)

python学习之老男孩python全栈第九期_day005知识点总结的更多相关文章

  1. python学习之老男孩python全栈第九期_day027知识点总结——反射、类的内置方法

    一. 反射 ''' # isinstance class A:pass class B(A):pass a = A() print(isinstance(a,A)) # 判断对象和类的关系 print ...

  2. python学习之老男孩python全栈第九期_day023知识点总结——类和对象命名空间、组合

    一. 类和对象命名空间类里 可以定义两种属性: 1. 静态属性 2. 动态属性 class Course: language = 'Chinese' def __init__(self, teache ...

  3. python学习之老男孩python全栈第九期_day019知识点总结——collections模块、时间模块、random模块、os模块、sys模块

    一. collections模块 在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:namedtuple.deque.Counte ...

  4. python学习之老男孩python全栈第九期_day017知识点总结——初识递归、算法

    一. 递归函数 如果一个函数在内部调用自身本身,这个函数就是递归函数. 最大递归深度默认是997 -- python从内存角度出发做得限制(而不是程序真的报错),最大深度可以修改 def func(n ...

  5. python学习之老男孩python全栈第九期_day010知识点总结

    def qqxing(l = []): # 可变数据类型 l.append(1) print(l)qqxing() # [1]qqxing([]) # [1]qqxing() # [1, 1]qqxi ...

  6. python学习之老男孩python全栈第九期_day007知识点总结

    基础数据类型汇总 1. str 2. int 3. list 4. bool 5. dict (1) fromkeys Python 字典 fromkeys() 方法用于创建一个新的字典,并以可迭代对 ...

  7. python学习之老男孩python全栈第九期_day001知识点总结

    1. Python2与Python3的区别: Python2:源码不标准,混乱,重复代码太多: Python3:统一标准,去除重复代码. 编码方式: python2的默认编码方式为ASCII码:pyt ...

  8. python学习之老男孩python全栈第九期_day014知识点总结

    # 迭代器和生成器# 迭代器 # 双下方法:很少直接调用的方法,一般情况下,是通过其他语法触发的# 可迭代的 --> 可迭代协议:含有__iter__的方法( '__iter__' in dir ...

  9. python学习之老男孩python全栈第九期_day016知识点总结

    '''数据类型:intbool... 数据结构:dict (python独有的)listtuple (pytho独有的)setstr''' # reverse() 反转l = [1,2,3,4,5]l ...

随机推荐

  1. 牛客第二场 C.message(计算几何+二分)

    题目传送:https://www.nowcoder.com/acm/contest/140/C 题意:有n个云层,每个云层可以表示为y=ax+b.每个飞机的航线可以表示为时间x时,坐标为(x,cx+d ...

  2. yum 安装mysql数据库

    1.先查看是否有安装mysql,有的话通过yum remove mysql先卸载掉,卸载完成后执行 yum install -y mysql-server mysql mysql-deve 2.启动m ...

  3. centos清华源地址,ubuntu阿里云源

    清华这个源挺好用,替换原先/etc/yum.repos.d/CentOS-Base.repo, 然后运行 sudo yum makecache 生成缓存 centos6 [base] name=Cen ...

  4. 如何做好错误处理?(PHP篇)

    起因 之前我在封装 PHP 一个类库的时候,如果有遇到错误(例如构造函数传参不合法的话),则直接 die() ,后来发现这种方法很不好,会直接退出程序. 所以我想到给 PHP 上异常捕获的机制了. 错 ...

  5. spring的Java注解方式

    以往我们在使用spring的时候都是用一堆<>这个玩意(尖括号)的xml文件来配置spring,在xml里都是"xxx"来配置需要的内容信息,在"" ...

  6. 关于axios及其在vue中的配置

    什么是axios?官方解释:axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中. 具有以下特点: 从浏览器中创建 XMLHttpRequests 从 nod ...

  7. linux服务器的相关信息查看(端口占用,cpu、内存占用,防火墙,系统信息,vim编辑器使用等)

    一.端口占用情况   https://www.cnblogs.com/CEO-H/p/7794306.html (1)查看所有端口.进程的使用情况:netstat -tunlp (2)查看某一端口的使 ...

  8. POJ 2485

    #include<iostream> #define MAXN 505 #define inf 1000000000 using namespace std; typedef int el ...

  9. Win7删除网络位置那些不用的网络位置(驱动器)

    1.初始状态: 映射成功的网络位置如下图 2.要删除这个网络位置:点击"打开网络和共享中心",然后如下图设置: 3.重启电脑之后,删除的"网络位置"不会在资源管 ...

  10. (转)python-user-agents

    原文:http://blog.topspeedsnail.com/archives/1958 Python3网络爬虫(四):使用User Agent和代理IP隐藏身份-------https://bl ...