摘要: 1.前期准备1.1.hadoop集群环境1个结点master运行namenode,jobtracker,3个结点运行datanode,tasktracker:域名IP运行服务master192.168.1.3nodenode,jobtrackerslaver1192.168.122.68datanodeslaver2192.168.122.153datanodeslaver3192.168.122.98datanode1.2数据准备气象数据从ncdn下载,这里的测试使用的是1990年的统计数据,具体下载地址:ftp://ftp.ncdc.noaa.gov/pub/data/gsod/1990/ 阅读全文
posted @ 2013-05-03 13:53 uzero 阅读(681) 评论(0) 推荐(0) 编辑
摘要: 1. 字符串是否包含某字符集中的字符最简单,兼具清晰,快速,通用(不限于字符串,只要是序列都可以)的版本如下:1 def containsAny(seq, aset):2 for c in seq:3 if c in aset: return True4 return False也可以使用高级点的itertools模块方法来提高一点点性能,其本质和上面的方法是一样的:1 import itertools2 def containsAny(seq, aset):3 for c in itertools.ifilter(aset.__contains__, ... 阅读全文
posted @ 2013-01-24 17:44 uzero 阅读(952) 评论(0) 推荐(0) 编辑
摘要: 1. 使用切片逐字符反转字符串1 >>> astring = 'uzero'2 >>> revstring = astring[::-1]3 >>> print revstring4 orezu2.使用内建函数reversed1 >>> revstring = ''.join(reversed(astring))2 >>> print revstring3 orezu内建函数reversed以序列作为参数,返回一个反转的可迭代对象,所以不得不以该迭代对象作为参数调用join 阅读全文
posted @ 2013-01-24 11:11 uzero 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 做字符串拼接时,性能是不得不考虑的事情,字符串是不可变对象,任何对字符串的修改,包括字符串拼接都会创建一个新的字符串.如果拼接过程需要N步,那么就会产生N - 1个中间结果,这些结果都会占用内存.1. 拼接的字符串邦定在变量上使用'+'做字符串拼接:1 largeString = small1 + small2 + 'something' + 'small3' + 'yet more'实际上一共产生了4个字符串,分别是:1 small1small22 small1small2'something'3 small1s 阅读全文
posted @ 2013-01-23 18:15 uzero 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 在做文本处理时,有时需要在字符串两端加上空格或者其他字符以达到某种需求,比如输出美观。但有的时候有需要删除字符串两端的字符,比如在一个交互程序中,需要用户输入字符串,但是用户不小心在两端多加了空格,这时候就需要删除两端的空格。可以使用string对象的lstrip,rstrip,strip方法,这几个方法在不使用参数时删除字符串左端,右端,两端的空格。如果以一个字符串作为参数,那么删除字符串左端,右端和两端包含在字符串中的字符,遇到第一个不包含在参数字符串中的字符则停止。stringl类去除字符串两端指定字符方法说明示例代码lstrip如果指定了参数,则删除了字符串左端包含在参数中的字符,遇到 阅读全文
posted @ 2013-01-22 19:53 uzero 阅读(455) 评论(0) 推荐(0) 编辑
摘要: 可以使用sting类的ljust,rjust,center方法来了解决字符串对齐的问题。每个方法都需要一个参数,指出生成字符串的宽度,返回一个右端,左端,两端加入空格的字符串拷贝。string类对齐函数说明方法说明示例代码ljust超过指定的宽度则指定的宽度被忽略,否则字符串处于左端,右边补空格,凑齐指定的宽度>>> print '|', 'uzero'.ljust(20),'|'| uzero |rjust超过指定的宽度则指定的宽度被忽略,否则字符串处于右端,左端补空格,凑齐指定的宽度>>> print &# 阅读全文
posted @ 2013-01-22 15:41 uzero 阅读(551) 评论(0) 推荐(0) 编辑
摘要: 类字符串表示除了str,unicode等内建字符串类外还包括用户自己编写的str,unicode的子类,用户自定的行为表现类似于字符串的类型使用内建函数isinstance判断:1 >>> user = 'uzero'2 >>> isinstance(user, basestring)3 Truebasestring是str和unicode共同的基类,所以这个测试对str,unicode都是有效的.当对用户自定义的字符串类型进行测试时,只要自定义的字符串类型是str,unicode或者basestring的子类,测试同样是有效的,但是对用户自 阅读全文
posted @ 2013-01-22 14:47 uzero 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 1. 使用ord将一个字符转换为相应的ascii值1 >>> print ord('a')2 972. 使用chr将ascii值转换为相应的字符1 >>> print chr(97)2 a3. 使用ord将一个unicode字符转换成相应的unicode值1 >>> print ord(u'好')2 22909ord接受长度为1的unicode字符串,根据机器的编码的不同,中文的unicode编码长度可能不为1,下面是另一个机器的运行结果:1 >>> print ord(u'好 阅读全文
posted @ 2013-01-22 11:53 uzero 阅读(1619) 评论(0) 推荐(0) 编辑
摘要: 为了对字符串中的每个字符处理可以采用下面几种方法:1. 使用内建函数list将字符串转换成列表,列表的每一项是字符串中字符1 thelist = list(TheString)2. 使用for循环直接遍历字符串中的每个字符for c in theString: do_something_with(c)3. 使用列表推倒1 result = [do_something_with(c) for c in theString]4. 使用map1 result = map(do_something_with, thesting)代码测试: 1 #!/usr/bin/env python 2 3 ... 阅读全文
posted @ 2013-01-21 16:06 uzero 阅读(162) 评论(0) 推荐(0) 编辑