[TOC] >[success] # 列表推导式 >[danger] ##### 列表推导式案例 * 数据较小的时候可以尝试使用列表表达式 ~~~ mylist = [1,-4,5,6,0] blist = [i for i in mylist if i>0] print(blist) 打印结果: [1, 5, 6] ~~~ * 数据较大的时可以尝试使用生成器表达式 ~~~ mylist = [1,-4,5,6,0] blist = (i for i in mylist if i>0) for i in blist: print(i) 打印结果: 1 5 6 ~~~ >[danger] ##### 复杂的列表项筛选-- filter * filter(function or None, iterable) --> filter object * 第一个参数是函数(或匿名函数),第二个 元组 列表 字符串 * 函数返回的true/flase 判断列表中值的通过,生成迭代器 ~~~ mylist = [1,-4,5,6,0,"asaa"] def is_int(val): try: x = int(val) return True except ValueError: return False print(list(filter(is_int,mylist))) 打印结果: [1, -4, 5, 6, 0] ~~~