内置类型转换函数

 

·        chr(i)

chr()函数返回ASCII码对应的字符串。

>>> print chr(65)
   
   
A
   
   
>>> print chr(66)
   
   
B
   
   
>>> print chr(65)+chr(66)
   
   
AB
   
   

·         complex(real[,imaginary])

complex()函数可把字符串或数字转换为复数。

>>> complex("2+1j")
   
   
(2+1j)
   
   
>>> complex("2")
   
   
(2+0j)
   
   
>>> complex(2,1)
   
   
(2+1j)
   
   
>>> complex(2L,1)
   
   
(2+1j)
   
   

·         float(x)

float()函数把一个数字或字符串转换成浮点数。

>>> float("12")
   
   
12.0
   
   
>>> float(12L)
   
   
12.0
   
   
>>> float(12.2)
   
   
12.199999999999999
   
   

·         hex(x)

hex()函数可把整数转换成十六进制数。

>>> hex(16)
   
   
'0x10'
   
   
>>> hex(123)
   
   
'0x7b'
   
   

·         long(x[,base])

long()函数把数字和字符串转换成长整数,base为可选的基数。

>>> long("123")
   
   
123L
   
   
>>> long(11)
   
   
11L
   
   

·         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]
   
   

·         int(x[,base])

int()函数把数字和字符串转换成一个整数,base为可选的基数。

>>> int(3.3)
   
   
3
   
   
>>> int(3L)
   
   
3
   
   
>>> int("13")
   
   
13
   
   
>>> int("14",15)
   
   
19
   
   

·         min(x[,y,z...])

min()函数返回给定参数的最小值,参数可以为序列。

>>> min(1,2,3,4)
   
   
1
   
   
>>> min((1,2,3),(2,3,4))
   
   
(1, 2, 3)
   
   

·         max(x[,y,z...])

max()函数返回给定参数的最大值,参数可以为序列。

>>> max(1,2,3,4)
   
   
4
   
   
>>> max((1,2,3),(2,3,4))
   
   
(2, 3, 4)
   
   

·         oct(x)

oct()函数可把给出的整数转换成八进制数。

>>> oct(8)
   
   
'010'
   
   
>>> oct(123)
   
   
'0173'
   
   

·         ord(x)

ord()函数返回一个字符串参数的ASCII码或Unicode值。

>>> ord("a")
   
   
97
   
   
>>> ord(u"a")
   
   
97
   
   

·         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)
   
   

5.3. 序列处理函数

·         常用函数中的len()max()min()同样可用于序列。

·         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']
   
   

map()还可同时应用于多个列表。如:

>>> import operator
   
   
>>> s=[1,2,3]; t=[3,2,1]
   
   
>>> map(operator.mul,s,t)   # s[i]*t[j]
   
   
[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,)]
   
   

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值