首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

PYTHON-惯用函数(二)

2012-12-26 
PYTHON--常用函数(二)类型转换函数chr(i)chr()函数返回ASCII码对应的字符串。 print chr(65) A print

PYTHON--常用函数(二)
类型转换函数

chr(i)
chr()函数返回ASCII码对应的字符串。
>>> print chr(65) A
>>> print chr(66) B
>>> print chr(65)+chr(66) AB

ord(x)
ord()函数返回一个字符串参数的ASCII码或Unicode值。
>>> ord("a") 97
>>> ord(u"a") 97

hex(x)
hex()函数可把整数转换成十六进制数。
>>> hex(16) '0x10'
>>> hex(123) '0x7b'

oct(x)
oct()函数可把给出的整数转换成八进制数。
>>> oct(8) '010'
>>> oct(123) '0173'

long(x[,base])
long()函数把数字和字符串转换成长整数,base为可选的基数。
>>> long("123") 123L
>>> long(11) 11L

float(x)
float()函数把一个数字或字符串转换成浮点数。
>>> float("12") 12.0
>>> float(12L) 12.0
>>> float(12.2) 12.199999999999999
>>> float(12.3) 12.300000000000001
>>> float(12.4) 12.4

int(x[,base])
int()函数把数字和字符串转换成一个整数,base为可选的基数。
>>> int(3.3) 3
>>> int(3L) 3
>>> int("13") 13
>>> int("14",15) 19

list(x)
list()函数可将序列对象转换成列表。
>>> list("hello world") ['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']
>>> list((1,2,3,4)) [1, 2, 3, 4]

str(obj)
str()函数把对象转换成可打印字符串。
>>> str("4") '4'
>>> str(4) '4'
>>> str(3+2j) '(3+2j)'

tuple(x)
tuple()函数把序列对象转换成tuple。
>>> tuple("hello world") ('h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd')
>>> tuple([1,2,3,4]) (1, 2, 3, 4)

序列常用函数

filter(function,list)
调用filter()时,它会把一个函数应用于序列中的每个项,并返回该函数返回真值时的所有项,从而过滤掉返回假值的所有项。

>>> def nobad(s):
... return s.find("bad") == -1
...
>>> s = ["bad","good","bade","we"]
>>> filter(nobad,s) ['good', 'we']
这个例子通过把nobad()函数应用于s序列中所有项,过滤掉所有包含“bad”的项。

map(function,list[,list])
map()函数把一个函数应用于序列中所有项,并返回一个列表。
>>> import string
>>> s=["python","zope","linux"]
>>> map(string.capitalize,s)  ['Python', 'Zope', 'Linux']
>>> import operator
>>> s=[1,2,3]; t=[3,2,1]
>>> map(operator.mul,s,t) [3, 4, 3]

如果传递一个None值,而不是一个函数,则map()会把每个序列中的相应元素合并起来,并返回该元组。
>>> a=[1,2];b=[3,4];c=[5,6]
>>> map(None,a,b,c) [(1, 3, 5), (2, 4, 6)]

reduce(function,seq[,init])
reduce()函数获得序列中前两个项,并把它传递给提供的函数,获得结果后再取序列中的下一项,连同结果再传递给函数,以此类推,直到处理完所有项为止。

>>> import operator
>>> reduce(operator.mul,[2,3,4,5]) # ((2*3)*4)*5 120
>>> reduce(operator.mul,[2,3,4,5],1) # (((1*2)*3)*4)*5 120
>>> reduce(operator.mul, [2,3,4,5],2) # (((2*2)*3)*4)*5 240

zip(seq[,seq,...])
zip()函数可把两个或多个序列中的相应项合并在一起,并以元组的格式返回它们,在处理完最短序列中的所有项后就停止。

>>> zip([1,2,3],[4,5],[7,8,9]) [(1, 4, 7), (2, 5, 8 )]

如果参数是一个序列,则zip()会以一元组的格式返回每个项。
>>> zip((1,2,3,4,5)) [(1,), (2,), (3,), (4,), (5,)]
>>> zip([1,2,3,4,5]) [(1,), (2,), (3,), (4,), (5,)]

热点排行