7.20

计划:
上午 教学视频前端,bootstrap.
下午-晚上 复习前端。刷python基础题目,巩固基础。
晚间 下周进行数据库的学习,预习知识点。

上午:学习bootstrap模块,做阑栅格操作,CSS样式:表格( table) 注意table 格式,以及使用状态类,标记数据时,table class=‘table’

下午:python 垃圾回收: https://blog.csdn.net/xiongchengluo1129/article/details/80462651

1.引用计数;引用计数为主,分代回收为辅。.当指向该对象的内存的引用计数器为0的时候,该内存将会被Python虚拟机销毁。

2.标记—清除 每次当你创建一个对象或其他什么值的时候,Python会将其加入零代链表:
任何一个python对象都分为两部分: PyObject_HEAD + 对象本身数据
检查列表中每个互相引用的对象,根据规则减掉其引用计数。剩下的活跃的对象则被移动到一个新的链表:一代链表。

3.分代回收:发现超过阈值了-> 触发垃圾回收 -> 将所有可收集对象链表放到一起 -> 遍历, 计算有效引用计数
-> 分成 有效引用计数=0 和 有效引用计数 > 0 两个集合 -> 大于0的, 放入到更老一代 -> =0的, 执行回收
-> 回收遍历容器内的各个元素, 减掉对应元素引用计数(破掉循环引用) -> 执行-1的逻辑, 若发现对象引用计数=0, 触发内存回收
-> python底层内存管理机制回收内存
1.反向排序:(1)a.sort() range(5,-1,-1) (2)reverse()
2.去重:1.set() 2.字典 fromkeys
3.正则:.贪婪匹配 .?非贪婪匹配
4.算术符 ±*/ 1. %取余 9%4=1 2. 2**5 2的5次方 3. //返回商的整数部分(向下取整) 9//2 =4
5.算术题:求
有两个序列a,b,大小都为n,序列元素的值任意整形数,无序.要求:通过交换a,b中的元素,使[序列a元素的和]与[序列b元素的和]之间的差最小
a=[45,77,31,11,500] # new_lenth = len(a)*2
b=[2,66,77,44,55,15,1000] # a.apend(b) a的长度为 len(a)+len(b) ,a.revers() 从大到小排列
sum1=0 # for i in range(new_lenth):
# new_a = a[i]
for i in range(len(b)): # 进行 相同元素之间的最小和
a.append(b[i]) # 剩下的最小的长度为 r_lenth = len(b)-len(a)
a.sort() # for i in range(r_lenth)
# a.sort() sum += a[i]
# r_lenth 这是最小的之差了。
print(a)
for i in range(1,len(a),2):
sum1 = sum1 + a[i]-a[i-1] # a1-a0 a3-a2
print(sum1)
思路: 二个序列整合到一个序列,进行排序,然后之间的差值就为最小。(相同元素个数)
不同元素个数,还要保持本身元素个数不变的话。排序按照大到小,取元素个数小的来,按相同元素个数处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值