python算法

Python面试题(4)

浪子不回头ぞ 提交于 2019-12-06 00:37:25
1.Python下多线程的限制以及多进程中传递参数的方式 Python多线程有个全局解释器锁,这个锁的意思是任一时间只能有一个线程运用解释器。并发不是并行。 多进程间同享数据,能够运用multiprocession.Value和multiprocessing.Array 认真学习下multiprocessing模块 2.Python是怎样进行内存管理的 内存池的概念 3.什么是lambda函数?他有什么好处? lambda函数是一个能接纳任意多个参数并且返回单个表达式值的函数。 lambda函数不能包括指令,他们所包括的表达式不能超过一个。 不要试图想lambda函数中塞入太多东西,如果需要更复杂的东西,就定义一个一般函数。 4.怎么用Python输出一个Fibonacci数列? 基础。 5.介绍下Python中webbrowser的用法? 熟悉webbrowser模块。 6.解释下Python的and-or语法 这里需要大致知道and和or用于列表和数字之间的区别。 7.如何倒序迭代一个数组 # 通用方法 for i in range(len(l)-1, -1,-1): print(l[i]) # 内置函数reversed for i in reversed(l): print(i) 8.Python是怎样进行类型变换的 9.Python里面如何实现tuple和list的转换

Python面试题(1)

纵然是瞬间 提交于 2019-12-06 00:33:55
1.如何反向迭代一个序列 #如果是一个list,最快的方法使用reversetempList = [1,2,3,4]tempList.reverse()for x in tempList: print x #如果不是list,需要手动重排templist = (1,2,3,4)for i in range(len(templist)-1,-1,-1): print templist[i] 2.如何查询和替换一个文本中的字符串 #最简单的方法使用replace()tempstr = "hello you hello python are you ok"print tempstr.replace("you","python") #还可以使用正则,有个sub()tempstr = "hello you hello python are you ok"import rerex = r'(hello|Use)'print re.sub(rex,"Bye",tempstr) 3.使用python实现单例模式 #方法一:可以使用__new__方法#在__new__方法中把类实例绑定到类变量_instance上,如果cls._instance为None表示该类还没有实例化过,实例化该类并返回。如果cls_instance不为None表示该类已实例化,直接返回cls_instanceclass

内置函数和匿名函数

爷,独闯天下 提交于 2019-12-05 22:40:44
转自Eva_J女神: 博客: https://www.cnblogs.com/Eva-J 阅读目录   楔子   内置函数   匿名函数   本章小结 返回顶部 楔子 在讲新知识之前,我们先来复习复习函数的基础知识。 问:函数怎么调用? 函数名() 如果你们这么说。。。那你们就对了!好了记住这个事儿别给忘记了,咱们继续谈下一话题。。。 来你们在自己的环境里打印一下自己的名字。 你们是怎么打的呀? 是不是print('xxx'),好了,现在你们结合我刚刚说的函数的调用方法,你有没有什么发现? 我们就猜,print有没有可能是一个函数? 但是没有人实现它啊。。。它怎么就能用了呢? 早在我们“初识函数”的时候是不是就是用len()引出的? 那现在我们也知道len()也是一个函数,也没人实现,它好像就自己能用了。。。 之前老师给你讲你可以这样用你就用了,那你有没有想过像这样直接拿来就能用的函数到底有多少? 返回顶部 内置函数 接下来,我们就一起来看看python里的内置函数。截止到python版本3.6.2,现在python一共为我们提供了 68个内置函数 。它们就是python提供给你直接可以拿来使用的所有函数。这些函数有些我们已经用过了,有些我们还没用到过,还有一些是被封印了,必须等我们学了新知识才能解开封印的。那今天我们就一起来认识一下python的内置函数。这么多函数

国外程序员整理的机器学习资源大全

怎甘沉沦 提交于 2019-12-05 21:55:50
 英文原文: awesome-machine-learning   本文汇编了一些机器学习领域的框架、库以及软件(按编程语言排序)。    C++    计算机视觉 CCV —基于C语言/提供缓存/核心的机器视觉库,新颖的机器视觉库 OpenCV —它提供C++, C, Python, Java 以及 MATLAB 接口,并支持 Windows, Linux, Android and Mac OS 操作系统。    通用机器学习 MLPack DLib ecogg shark    Closure    通用机器学习 Closure Toolbox —Clojure 语言库与工具的分类目录    Go    自然语言处理 go-porterstemmer —一个 Porter 词干提取算法的原生 Go 语言净室实现 paicehusk —Paice/Husk 词干提取算法的 Go 语言实现 snowball —Go 语言版的 Snowball 词干提取器    通用机器学习 Go Learn — Go 语言机器学习库 go-pr —Go 语言机器学习包. bayesian —Go 语言朴素贝叶斯分类库。 go-galib —Go 语言遗传算法库。    数据分析/数据可视化 go-graph —Go 语言图形库。 SVGo —Go 语言的 SVG 生成库。    Java   

pytorch源码解析:Python层 pytorchmodule源码

徘徊边缘 提交于 2019-12-05 21:44:00
尝试使用了pytorch,相比其他深度学习框架,pytorch显得简洁易懂。花时间读了部分源码,主要结合简单例子带着问题阅读,不涉及源码中C拓展库的实现。 一个简单例子 实现单层softmax二分类,输入特征维度为4,输出为2,经过softmax函数得出输入的类别概率。代码示意:定义网络结构;使用SGD优化;迭代一次,随机初始化三个样例,每个样例四维特征,target分别为1,0,1;前向传播,使用交叉熵计算loss;反向传播,最后由优化算法更新权重,完成一次迭代。 import torch import torch.nn as nn import torch.nn.functional as F class Net (nn.Module): def __init__ (self): super(Net, self).__init__() self.linear = nn.Linear( 4, 2) def forward (self, input): out = F.softmax(self.linear(input)) return out net = Net() sgd = torch.optim.SGD(net.parameters(), lr= 0.001) for epoch in range( 1): features = torch.autograd

Python 深入浅出支持向量机(SVM)算法

ⅰ亾dé卋堺 提交于 2019-12-05 21:23:28
相比于逻辑回归,在很多情况下,SVM算法能够对数据计算从而产生更好的精度。而传统的SVM只能适用于二分类操作,不过却可以通过核技巧(核函数),使得SVM可以应用于多分类的任务中。 本篇文章只是介绍SVM的原理以及核技巧究竟是怎么一回事,最后会介绍sklearn svm各个参数作用和一个demo实战的 www.imdb.com/list/ls029661231/ m.imdb.com/list/ls029661231/ www.imdb.com/list/ls029661299/ m.imdb.com/list/ls029661299/ www.imdb.com/list/ls029661407/ m.imdb.com/list/ls029661407/ www.imdb.com/list/ls029661408/ m.imdb.com/list/ls029661408/ www.imdb.com/list/ls029661425/ m.imdb.com/list/ls029661425/ www.imdb.com/list/ls029661440/ m.imdb.com/list/ls029661440/ www.imdb.com/list/ls029661490/ m.imdb.com/list/ls029661490/ www.imdb.com/list/ls029661975

【转】python 线程,GIL 和 ctypes

…衆ロ難τιáo~ 提交于 2019-12-05 20:38:25
原文地址: http://zhuoqiang.me/python-thread-gil-and-ctypes.html GIL 与 Python 线程的纠葛 GIL 是什么东西?它对我们的 python 程序会产生什么样的影响?我们先来看一个问题。运行下面这段 python 程序,CPU 占用率是多少? # 请勿在工作中模仿,危险:) def dead_loop(): while True: pass dead_loop() 答案是什么呢,占用 100% CPU?那是单核!还得是没有超线程的古董 CPU。在我的双核 CPU 上,这个死循环只会吃掉我一个核的工作负荷,也就是只占用 50% CPU。那如何能让它在双核机器上占用 100% 的 CPU 呢?答案很容易想到,用两个线程就行了,线程不正是并发分享 CPU 运算资源的吗。可惜答案虽然对了,但做起来可没那么简单。下面的程序在主线程之外又起了一个死循环的线程 import threading def dead_loop(): while True: pass # 新起一个死循环线程 t = threading.Thread(target= dead_loop) t.start() # 主线程也进入死循环 dead_loop() t.join() 按道理它应该能做到占用两个核的 CPU 资源,可是实际运行情况却是没有什么改变

python多线程为什么不能利用多核cpu

时光怂恿深爱的人放手 提交于 2019-12-05 20:37:46
GIL 与 Python 线程的纠葛 GIL 是什么东西?它对我们的 python 程序会产生什么样的影响?我们先来看一个问题。运行下面这段 python 程序,CPU 占用率是多少? 请勿在工作中模仿,危险:) def dead_loop(): while True: pass dead_loop() 答案是什么呢,占用 100% CPU?那是单核!还得是没有超线程的古董 CPU。在我的双核 CPU 上,这个死循环只会吃掉我一个核的工作负荷,也就是只占用 50% CPU。那如何能让它在双核机器上占用 100% 的 CPU 呢?答案很容易想到,用两个线程就行了,线程不正是并发分享 CPU 运算资源的吗。可惜答案虽然对了,但做起来可没那么简单。下面的程序在主线程之外又起了一个死循环的线程 import threading def dead_loop(): while True: pass 新起一个死循环线程 t = threading.Thread(target=dead_loop) t.start() 主线程也进入死循环 dead_loop() t.join() 按道理它应该能做到占用两个核的 CPU 资源,可是实际运行情况却是没有什么改变,还是只占了 50% CPU 不到。这又是为什么呢?难道 python 线程不是操作系统的原生线程?打开 system monitor 一探究竟

Python算法——《算法图解》笔记

倖福魔咒の 提交于 2019-12-05 19:07:34
二分查找 1 # 要求list是有序表,num是要查找的数字 2 # 二分查找貌似只能查找数值表 3 def binary_search(list, num): 4 low = 0 5 high = len(list) - 1 # 因为python数组(列表)是从0开始索引的 6 7 while low <= high: 8 mid = (low + high) 9 guess = list[mid] 10 if guess == num: 11 return "found it is " + str(mid) 12 if guess > num: 13 high = mid - 1 14 else: 15 low = mid + 1 16 return "not found" 17 18 # python数组不同于matlab数组,python中间要用逗号隔开,而matlab不用 19 my_list = [1, 3, 5, 7, 9, 11, 13] 20 print(binary_search(my_list, 6)) 21 print(binary_search(my_list, 9)) 大O表示法 1. 能够比较操作数,表示算法运行时间的增速 2. 给出了一个时间的上限 3. 算法的速度并非时间,而是操作数的增速 4. O(logn)——对数时间(二分查找) 5. O(n

创建虚拟环境,以方便管理

ぃ、小莉子 提交于 2019-12-05 17:43:21
人生苦短,我用Python(目录) 目录 一、计算机基础 二、Python基础 三、函数 四、常用模块 五、模块和包 六、面向对象 七、网络编程socket 八、数据库 九、前端 十、Python Web框架 十一、版本控制--GIT 十二、爬虫 十三、前端框架之VUE 十四、量化投资与Python 十五、算法 十六、设计模式 十七、restful framework 十八、linux基础 十九、权限管理 一、计算机基础 计算机基础知识 计算机的发展史及多道技术 计算机网路知识的简单介绍 二、Python基础 Python学习【第0篇】:window环境下安装Python2和Python3   Python学习【第1篇】:Python简介以及入门 Python学习【第2篇】:Python之数据类型 Python学习【补充篇】:Python之字符串切片 Python学习【第3篇】:Python之运算符 Python学习【第4篇】:Python之可变数据类型与不可变数据类型 Python学习【第5篇】:Python之字符编码问题 Python学习【第6篇】:Python之文件操作 Python学习【补充篇】:map函数和reduce函数的区别 三、Python之函数 Python学习【第7篇】:Python之函数(自定义函数,内置函数,装饰器,迭代器,生成器) Python学习【第7篇