Python:内置函数①abs()②all()③any()④bin()⑤bool()⑥sorted()⑦map()⑧set()

①abs()
返回输入数值的绝对值

print "abs(-45) : ", abs(-45)
print "abs(100.12) : ", abs(100.12)
print "abs(119L) : ", abs(119L)

结果

abs(-45) :  45
abs(100.12) :  100.12
abs(119L) :  119

②all()
可以是元组或者列表
当为0或者空字符的元素存在其中,返回False,不存在返回True,或元组或者列表为空时,返回True

>>>all(['a', 'b', 'c', 'd'])  # 列表list,元素都不为空或0
True
>>> all(['a', 'b', '', 'd'])   # 列表list,存在一个为空的元素
False
>>> all([0, 12, 3])          # 列表list,存在一个为0的元素
False

>>> all(('a', 'b', 'c', 'd'))  # 元组tuple,元素都不为空或0
True
>>> all(('a', 'b', '', 'd'))   # 元组tuple,存在一个为空的元素
False
>>> all((0, 1, 2, 3))          # 元组tuple,存在一个为0的元素
False

>>> all([])             # 空列表
True
>>> all(())             # 空元组
True

③any()
元组或者列表元素全为0,空,或者False时,返回False,否则返回True

>>>any(['a', 'b', 'c', 'd'])  # 列表list,元素都不为空或0
True

>>> any(['a', 'b', '', 'd'])   # 列表list,存在一个为空的元素
True

>>> any([0, '', False])        # 列表list,元素全为0,'',false
False

>>> any(('a', 'b', 'c', 'd'))  # 元组tuple,元素都不为空或0
True

>>> any(('a', 'b', '', 'd'))   # 元组tuple,存在一个为空的元素
True

>>> any((0, '', False))        # 元组tuple,元素全为0,'',false
False

>>> any([]) # 空列表
False

>>> any(()) # 空元组
False

④bin()
返回一个整数 int 或者长整数 long int 的二进制表示

>>>bin(10)
'0b1010'
>>> bin(20)
'0b10100'

⑤bool()
将给定参数转换为布尔类型,如果没有参数,返回 False

>>>bool()
False
>>> bool(0)
False
>>> bool(1)
True
>>> bool(2)
True
>>> issubclass(bool, int)  # bool 是 int 子类
True

⑥sorted()
和list.sort()函数不同,sorted()不会改变原来列表的排列顺序,而是新建一个列表来排序,而且可以对所有可迭代的对象进行排序操作

>>>a = [5,7,6,3,4,1,2]
>>> b = sorted(a)       # 保留原列表
>>> a 
[5, 7, 6, 3, 4, 1, 2]
>>> b
[1, 2, 3, 4, 5, 6, 7]

>>> L=[('b',2),('a',1),('c',3),('d',4)]
>>> sorted(L, cmp=lambda x,y:cmp(x[1],y[1]))   # 利用cmp函数
[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
>>> sorted(L, key=lambda x:x[1])               # 利用key
[('a', 1), ('b', 2), ('c', 3), ('d', 4)]


>>> students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
>>> sorted(students, key=lambda s: s[2])            # 按年龄排序
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]

>>> sorted(students, key=lambda s: s[2], reverse=True)       # 按降序
[('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]

⑦map()
第一个元素为所需要的函数,第二个元素开始为需要做映射作用的列表

>>>def square(x) :            # 计算平方数
...     return x ** 2
... 
>>> map(square, [1,2,3,4,5])   # 计算列表各个元素的平方
[1, 4, 9, 16, 25]
>>> map(lambda x: x ** 2, [1, 2, 3, 4, 5])  # 使用 lambda 匿名函数
[1, 4, 9, 16, 25]

# 提供了两个列表,对相同位置的列表数据进行相加
>>> map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])
[3, 7, 11, 15, 19]

⑧set()
set([iterable])将x,y列表的元素字母或者数字拆分成独立字母或者数字,去掉重复的部分,可对不同的x,y=set()进行逻辑运算

>>>x = set('runoob')
>>> y = set('google')
>>> x, y
(set(['b', 'r', 'u', 'o', 'n']), set(['e', 'o', 'g', 'l']))   # 重复的被删除
>>> x & y         # 交集
set(['o'])
>>> x | y         # 并集
set(['b', 'e', 'g', 'l', 'o', 'n', 'r', 'u'])
>>> x - y         # 差集
set(['r', 'b', 'u', 'n'])

引用:http://www.runoob.com/python/python-built-in-functions.html

猜你喜欢

转载自blog.csdn.net/qq_24182661/article/details/81330191
今日推荐