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()函数可把给出的整数转换成八进制数。
$amp;>amp;>amp;$gt; oct(8) '010'
$amp;>amp;>amp;$gt; 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,)]

posted @ 2014-12-09 20:29  berryfad  阅读(412)  评论(0编辑  收藏  举报