Python学习杂记_12_函数(三)

内置函数

Python有很多内置函数,以下这些是常用且必须要掌握的:

强制类型转换:
bool() # 把一个对象转换成布尔类型
int() # 整形
float() # 小数
str() # 字符
dict() # 字典
list() # 列表
set() # 集合
tuple() # 元组

一组散的内置函数:
print(chr(98)) # 打印数字对应的ascii
print(ord('b')) # 打印字符串对应的ascii码
print(dict(a=1,b=2)) # 转换字典
print(dir('a')) # 打印传入对象的可调用方法

print(eval('a=1')) # 执行python代码,只能执行简单的,定义数据类型和运算

print(round(11.1198,2)) # 取几位小数,会四舍五入
print(sorted([2,31,34,6,1,23,4],reverse=False)) # 升序排序,默认reverse就是False,换成True是降序排序
print(max(111,12,13,14,16,19)) # 取最大值
print(list(filter(func,[0,1,2,3,4]))) # 在python3里面这么用是没问题
print(filter(func,[0,1,2,3,4])) # 在python2里面这么用是没问题

filter() 和 map()

filter(func,序列) 用于过滤序列。
根据前面的函数处理逻辑,依次处理后面可迭代对象里面的每个元素,将返回True的元素保留,返回False的元素去除。
但处理完毕filter返回的结果返回是存放了被修剪序列的内存地址,需要加list()用列表把内容取出。

def is_odd(n): # 判断是奇数的原则
return n % 2 == 1

print(list(filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]))) # 过滤偶数序列并输出

结果是: [1, 3, 5, 7, 9]

def not_empty(s): # 去除非空字符的原则
return s and s.strip()

print(list(filter(not_empty, ['a', '', 'c', ' ', 'd', 'e'])))

结果是: ['a', 'b', 'c', 'd', 'e']

map()
# map(func,序列)根据前面的函数处理逻辑,依次处理后面可迭代对象里面的每个元素,并将前面函数返回的所有结果留下。

def is_odd(n): # 判断是奇数的原则
return n % 2 == 1

print(list(map(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])))

结果是:[True, False, True, False, True, False, True, False, True, False]

注意:filter()最后的结果是原序列的元素,而map()最后的结果是传入函数的结果。
posted on 2018-03-21 16:08  轻微强迫症  阅读(99)  评论(0编辑  收藏  举报