
Python
吴海旭
这个作者很懒,什么都没留下…
展开
-
Python学习笔记:iterator和iterable
定义: 一个迭代器(iterator)是一个管理一系列值的迭代的对象。如果一个变量i指代一个迭代器对象,那么每次调用内建函数next(i)就可以产生一个这一系列值的下一个元素,如果StopIteration异常发生则意味着没有更多的元素可以产生了。 一个iterable是一个对象,obj,可以用语句iter(obj)产生一个迭代器。从定义可以很明显的看出iterator和iterable原创 2016-08-03 21:47:07 · 643 阅读 · 0 评论 -
Python实现k-means算法
这也是周志华《机器学习》的习题9.4。 数据集是西瓜数据集4.0,如下编号,密度,含糖率1,0.697,0.462,0.774,0.3763,0.634,0.2644,0.608,0.3185,0.556,0.2156,0.403,0.2377,0.481,0.1498,0.437,0.2119,0.666,0.09110,0.243,0.26711,0.245,0.057原创 2017-01-18 16:41:05 · 4093 阅读 · 0 评论 -
Python学习笔记:循环技巧
本文从官方文档中翻译了几个循环技巧。原创 2016-12-13 22:34:14 · 537 阅读 · 0 评论 -
Python学习笔记:列表推导式List Comprehension
本篇参考官方文档: The PythonTutorial:5.Data Structures列表推导式其实很简单,看一遍官方文档就可以了。 列表推导式提供了一个构造列表的简介的方法。通常的用途有制作一个新的列表,这个列表的每一个元素都是把一个操作作用于另一个序列或迭代器得到的;或者制作一个满足某些条件的子序列。 例如,加入我们想制作一个平凡列表,像: >>> squares =原创 2016-12-06 21:09:59 · 475 阅读 · 0 评论 -
Python学习笔记:函数式编程工具
本篇参考官方文档: The PythonTutorial:5.Data Structures 函数式编程可以大大简化代码,本篇学习一下三个对list操作非常有用的函数: filter(),map(),reduce()filter filter(function, sequence)返回一个由序列(sequence)中使得function(item)为真的元素(item)组成的组成的序列。如果这原创 2016-12-06 20:33:15 · 511 阅读 · 0 评论 -
Python学习笔记:函数
本片参考官方文档: The PythonTutorial 函数的作用域(scope) 函数的运行引入了一个新的符号表(symbol table)以用于这个函数的本地变量。更确切地,函数中所有的变量赋值都把值储存在本地符号表里;而变量引用首先查找本地变量表,然后查找上一层函数的本地变量表,然后查找全局变量表,最后查找内建(built-in)变量表。所以,全局变量不能直接在一个函数中被赋值(除非声明原创 2016-12-06 15:10:19 · 509 阅读 · 0 评论 -
Python:列表作为参数
简单的看下三种情况:def changeList(l): l[0] = 5 def changeList1(l): l = []def changeList2(l): l[:] = []a = [1,2,3]changeList(a)print(a)b = [1,2,3]changeList1(b)print(b)c = [1,2,3]changeList2(原创 2016-08-03 10:24:37 · 16130 阅读 · 2 评论 -
Python学习笔记:对象,值和类型
本篇参考Python官方文档,3. Data model — Python 3.5.2 documentation下面是原文翻译过来的: 对象 是Python对数据的抽象。Python程序程序中所有的数据都用对象或者对象之间的关系表示。(在某种意义上,与冯诺依曼的“程序存储计算机”模型相一致,代码也由对象表示) 每个对象都有一个身份(identity),类型和值。一个对象的身份从创建开始就原创 2016-08-02 20:43:04 · 1087 阅读 · 0 评论 -
Python实现栈和队列
我只是书的搬运工。栈和list有很大相似之处,所以实现起来简单一些。class Empty(Exception): """Error attempting to access an element from an empty container.""" passclass ArrayStack: """LIFO Stack implementation using a Pyt原创 2016-08-05 21:23:13 · 572 阅读 · 0 评论 -
Python学习笔记:list,tuple和str
本篇试图回答下面两个问题: list,tuple和str的底层是怎么实现的? 它们之间有什么异同?首先定义一下数组(array),这个数组跟其他语言说的数组不太一样,这个数组只是内存上的概念。数组是一片连续的内存块,可以在常数时间索引每个内存块。 list,tuple和str都属于sequence,sequence底层都是用数组实现的。下面详细描述各个sequence。str:在Python中原创 2016-08-05 16:38:08 · 1480 阅读 · 0 评论 -
Python学习笔记:作用域和命名空间
本篇参考官方文档9: The Python Tutorial 9.2: Python Scopes and Namespaces这节非常重要,许多错误都是对作用域和命名空间不熟悉导致的。先看看文档里对命名空间(namespace)的定义: 命名空间是从名字到对象的映射。大多数命名空间目前是由Python字典实现的。例子有:内建(built-in)名字(比如abs()函数);一个模块里的全局名字,原创 2017-01-21 12:59:04 · 2148 阅读 · 0 评论