TypeError: ‘str’ does not support the buffer interface

下面代码在Python 2.7.6运行正常,在Python 3.4.3运行出错,OS为Win8.1,报错信息为:’str’ does not support the buffer interface. Stack Overflow相关问题

with open("test.txt") as fp:
    line = fp.readline()
with open("test.out", 'wb') as fp:
    fp.write(line)

继续阅读TypeError: ‘str’ does not support the buffer interface

C++实现简单KNN算法

基本思路(引用自机器学习实战p19)

  1. 计算已知类别数据集中的点与当前点之间的距离;
  2. 按照距离递增次序排序;
  3. 选取与当前点距离最小的k个点;
  4. 确定前k个点所在类别的出现频率;
  5. 返回前k个点出现频率最高的类别作为当前点的预测分类。

继续阅读C++实现简单KNN算法

LeetCode 222 Count Complete Tree Nodes 非递归和递归解法

https://leetcode.com/problems/count-complete-tree-nodes/ 题目描述:求完全树的所有节点个数。

非递归方法,116ms. 比较左右节点的树高,如果左树高,则结果加上右树的节点,指针进入左孩子; 如果左右树高相同,则结果加上左树的节点,指针进入由孩子。

继续阅读LeetCode 222 Count Complete Tree Nodes 非递归和递归解法

Python2 str unicode小记

str与unicode

在Python,str与unicode是两种不同的类型。

string里的character是有多种编码方式的,比如单字节的ASCII,双字节的GB2312等等,再比如UTF-8。很明显要想解读string,必需知道string里的character是用哪种编码方式,然后才能进行。

Unicode code unit又是什么东西呢?一个Unicode code unit是一个16-bit或者32-bit的数值,每个数值代表一个unicode符号。在python里,16-bit的unicode,对应的是ucs2编码。32-bit对应的是ucs4编码。是不是感觉string里character的编码没什么区别?反正我现在脑子里就是这样一个印象:在Python里,ucs2或者ucs4编码的,我们叫做unicode object,其他编码的我们就叫做string。

继续阅读Python2 str unicode小记