-
- Python中字典操作的常用方法
- Weather:13~23度,西南风4~5级,晴
- 2009-05-05
当然说字典,那也就有一些常用方法
------------------------清除------------------------
clear()方法,将字典所有内容清除:
>>> d = {'age' : 12, 'name' : 'bob'}
>>> d
{'age': 12, 'name': 'bob'}
>>> d.clear()
>>> d
{}
有人可能会问为什么不直接d={}?
看下面的例子:
>>> d = {'age' : 12, 'name' : 'bob'}
>>> x = d
>>> d = {}
>>> x
{'age': 12, 'name': 'bob'}.....- Views(6591) | Comments(0) | In Python相关
-
- Python 处理 Excel
- Weather:12~20度,多云
- 2009-04-30
使用Python对Excel进行操作,然后把结果生成一个新的Excel表格,使用到了xlrd和pyExcelerator两个库。
简单的介绍一下这两个库,先说xlrd,这个库读Excel比较方便,各种方法使用起来也挺方便:
bk = xlrd.open_workbook('your.xls')
sh = bk.sheets()[-1]
上面两句就可以打开Excel表格中的一个sheet,sheets得到的是一个list,存放所有的sheet。
sh.nrows是该sheet中的行数,知道这个后就可以使用for循环来读所有的单元格了:
sh.row(i)[3]这个就代表第i行的第4列。再看看pyExcelerator,这个用起来有点别扭:
sheets = parse_xls('result.xls')
先打开一个表格,sheets是一个list,包含了所有表格的内容,每一项就是一个sheet,而每个sheet是二元tuple,第一个是该sheet的名字,第二个是一个dict,dict的key是一个二元组,表示单元格的坐标,如(0,0),第一行第一列。
从上面的分析中可以得出要访问Excel中第一个sheet的第一行第一列元素需要:
sheets[0][1][(0,0)]
pyExcelerator也不能得到行列数。写文件也比较简单:
wb = Workbook()
ws = wb.add_sheet('result')
ws.write(0,0,“hello”)
wb.save('result.xls')
写文件时需要注意直接写Unicode内容进去,而不要写编码过的内容。
转载于:可可熊的窝
- Views(7906) | Comments(0) | In Python相关
-
- Python实现IP地址与数值之间互转
- Weather:短袖终于可以穿了
- 2009-04-28
自己写方法:
def ip2num(ip):
i = 0
result = 0
for num in ip.split("."):
result += int(num)<<((3-i)*8)
i+=1
return resultdef num2ip(num):
li = []
num1 = num>>24
li.append(str(num1))
num2 = ((num>>16)-(num1<<8))
li.append(str(num2))
num3 = ((num>>8)-(num1<<16)-(num2<<8))
li.append(str(num3))
num4 = (num-(num1<<24)-(num2<<16)-(num3<<8))
li.append(str(num4))
return ".".join(li)其实PY已经有相应的模块了
>>> import socket
>>> import struct
>>> socket.ntohl(struct.unpack('i',socket.inet_aton('192.168.101.2'))[0])
3232261378L
>>> socket.inet_ntoa(struct.pack('i',socket.htonl(3232261378L)))
'192.168.101.2'- Views(6438) | Comments(0) | In Python相关
-
- Python中的正则表达式入门(1)
- Weather:阴天,樱花和玉兰花开了
- 2009-04-11
- ^ 匹配字符串的开始。
- $ 匹配字符串的结尾。
- \b 匹配一个单词的边界。
- \d 匹配任意数字。
- \D 匹配任意非数字字符。
- x? 匹配一个可选的x字符(换句话说,它匹配1次或者0次x 字符)。
- x* 匹配0次或者多次x字符。
- x+匹配1次或者多次x字符。
- x{n,m} 匹配x字符,至少n次,至多m次。
- (a|b|c)要么匹配a,要么匹配b,要么匹配c。
- (x) 一般情况下表示一个记忆组(remembered group). 你可以利用re.search函数返回对象的groups()函数获取它的值。
- Views(4956) | Comments(0) | In Python相关
-
- PYTHON实现阶乘算法
- Weather:忘了啥了,反正挺舒服
- 2009-04-10
今天看到FoxPro的一道题,要写出P = N!的程序及结果,这不就是个求阶乘吗?
一般程序弄个双循环就可以了,不过PYTHON就比较方便,循环一次就可以了。
def f(n):
c = 1
for i in range(n+1):
c *= i
return c或者是用递归的方法也比较方便。
def f(n):
if n > 1:
return n*f(n-1)
else:
return 1
或
def f(n):
p = 1
if n > 1:
p = n*f(n-1)
return p再后来一想,PYTHON有lambda方法,会不会有更好的方法,于是reduce方法,一句话搞定阶乘。
用PYTHON的reduce方法
def foo(n):
return reduce(lambda x,y: x*y, range(1,n+1)- Views(17237) | Comments(6) | In Python相关
