python高级 之(零) --- 重点难点
生成式子
- 列表生成式
- 字典生成式
深浅拷贝
list0 = [12,24,34,32,[64,23]] # 浅拷贝:浅拷贝只是将最外层容器拷贝一份放在堆里面,内层的容器不会被拷贝还是使用原来的地址
list1 = list0.copy()
print(id(list0)) # 结果地址:4517928904
print(id(list1)) # 结果地址:4518644936 print(id(list0[4])) # 结果:4545167240
print(id(list1[4])) # 结果:4545167240 # 深浅拷贝对应的模块
import copy # 浅拷贝。模块中的浅拷贝就相当于列表中自带的copy
list2 = copy.copy(list0)
print(id(list2))
print(id(list0)) print(id(list0[4]))
print(id(list2[4])) # 深拷贝。不仅外层地址拷贝一份新的,内层也会拷贝一份新的出来
list3 = copy.deepcopy(list0)
print(id(list0)) # 结果:4513963976
print(id(list3)) # 结果:4519921672 print(id(list0[4])) # 结果:4513963912
print(id(list3[4])) # 结果:4519922696 """
内容不可变对象没有深浅拷贝一说。地址是不变的
"""
a = 10
b = copy.copy(a)
c = copy.deepcopy(a)
print(id(a)) #
print(id(b)) #
print(id(c)) #
排序算法
- 冒泡排序
"""
第一次遍历取了7个元素,意味着该遍历比较了7次
第二次遍历取了6个元素,意味着该遍历比较了6次
第三次遍历取了5个元素,意味着该遍历比较了5次
......
列表的长度 = 第几次遍历 + 所取元素比较次数
"""
list0 =[23,45,67,89,43,658,24,25,]
for out in range(1,len(list0)):
for inner in range(len(list0)-out):
if list0[inner]<list0[inner+1]:
list0[inner],list0[inner+1] = list0[inner+1],list0[inner]
print(list0)
- 选择排序
"""
遍历列表的次数
第一次遍历,遍历的起始脚标是0
第二次遍历,遍历的起始脚标是1
第三次遍历,遍历的起始脚标是2
.......
遍历的次数 = len(list0)- 1
遍历的起始脚标 = 遍历的次数 - 1
"""
list0 =[34,56,3,66,32,78]
for out in range(1,len(list0)):
for inner in range(out-1,len(list0)):
if list0[out-1]<list0[inner]:
list0[inner],list0[out-1] = list0[out-1],list0[inner]
print(list0)
- 插入排序
List0 = [32,45,67,4,734,78,]
for out in range(1,len(list0)):
for inner in range(out,0,-1):
if list0[inner]< list[inner-1]:
交换位置
else:
break
查找算法
- 普通查找
- 二分查找
函数类别
递归调用
单例模式
闭包
装饰器
生成器
迭代器
python高级 之(零) --- 重点难点的更多相关文章
- es6-promise源代码重点难点分析
摘要 vue和axios都可以使用es6-promise来实现f1().then(f2).then(f3)这样的连写形式,es6-promise其实现代浏览器已经支持,无需加载外部文件.由于promi ...
- AXIOS源代码重点难点分析
摘要 vue使用axios进行http通讯,类似jquery/ajax的作用,类似angular http的作用,axios功能强大,使用方便,是一个优秀的http软件,本文旨在分享axios源代码重 ...
- python高级(1)—— 基础回顾1
Python基础回顾 认识变量 在学习了之前的Python零基础入门系列[洗礼灵魂,修炼Python](说明一下,这个系列现在回过来再来看这个名字确实好土啊,然后有些知识点感觉还不太精准,后期看如果有 ...
- 第213天:12个HTML和CSS必须知道的重点难点问题
12个HTML和CSS必须知道的重点难点问题 这12个问题,基本上就是HTML和CSS基础中的重点个难点了,也是必须要弄清楚的基本问题,其中定位的绝对定位和相对定位到底相对什么定位?这个还是容易被忽视 ...
- 老男孩Python高级全栈开发工程师【真正的全套完整无加密】
点击了解更多Python课程>>> 老男孩Python高级全栈开发工程师[真正的全套完整无加密] 课程大纲 老男孩python全栈,Python 全栈,Python教程,Django ...
- python高级学习目录
1. Linux介绍.命令1.1. 操作系统(科普章节) 1.2. 操作系统的发展史(科普章节) 1.3. 文件和目录 1.4. Ubuntu 图形界面入门 1.5. Linux 命令的基本使用 1. ...
- Python高级应用程序设计任务
Python高级应用程序设计任务要求 用Python实现一个面向主题的网络爬虫程序,并完成以下内容:(注:每人一题,主题内容自选,所有设计内容与源代码需提交到博客园平台) 一.主题式网络爬虫设计方案( ...
- Python高级应用程序设计任务要求
Python高级应用程序设计任务要求 用Python实现一个面向主题的网络爬虫程序,并完成以下内容:(注:每人一题,主题内容自选,所有设计内容与源代码需提交到博客园平台) 一.主题式网络爬虫设计方案( ...
- Python高级应用程序设计任务期末作业
Python高级应用程序设计任务要求 用Python实现一个面向主题的网络爬虫程序,并完成以下内容:(注:每人一题,主题内容自选,所有设计内容与源代码需提交到博客园平台) 一.主题式网络爬虫设计方案( ...
随机推荐
- table 表格
标签 <table> 标签定义HTML中的表格 <tr> 标签定义表格中的行. <th> 标签定义表格中表头的每一项.元素内部的文本通常会呈现为居中的粗体文本. ...
- 配置并访问NFS共享
NFS服务器 192.168.2.5 NFS客户机 192.168.2.100 软件包nfs-utils用来提供NFS共享服务及相关工具,而软件包rpcbind用来提供RPC协议的支持 服务器 修改/ ...
- 提示 ToolTip
<StackPanel> <Button Content="按钮1" ToolTip="这是个按钮1" HorizontalAlignment ...
- [Python]Python3调用java代码
环境:Ubuntu16.04 桌面版 Ubuntu安装java的详细教程:https://www.cnblogs.com/ttkl/p/11933884.html 安装JPype1 pip3 inst ...
- 改变CTS测试中timeout时间
关键类: JarHostTest.java——>目录:%SOURCE_ROOT%/cts/tools/tradefed-host/src/com/android/cts/tradefed/tes ...
- hihocoder 1251 Today is a rainy day ( 15年北京 C、暴力 )
题目链接 题意 : 一串数字变成另一串数字,可以单个数字转变,或者一类数字转变,问最少操作次数 分析 : 15年北京赛区的银牌题 首先有一个点需要想明白.或者猜得到 即最优的做法肯定是先做完 2 操作 ...
- [笔记]动态规划(dynamic programming)
动态规划与分治方法都是通过组合子问题的解来求解原问题,区别在于:分治方法将问题划分为互不相交的子问题,递归求解子问题,再将它们的解组合起来,求出原问题的解.分治算法可能反复的求解某些公共子问题,从而使 ...
- apache httpd.conf 文件的 详解
文章 摘自 :http://www.php100.com/html/webkaifa/apache/2009/0418/1192.html ServerRoot /usr/local Server ...
- logback条件日志配置
logback支持条件日志配置,支持在测试环境和正式环境使用不同的参数启用不同的日志配置,从而避免手动修改日志配置文件.项目除了引入logback的包以外,还需要引入构件org.codehaus.ja ...
- layui中从内置的分页中获取总记录数(转)
封装的工具类: https://blog.csdn.net/QYHuiiQ/article/details/82147537