perl 、shell 中都有grep, map 之类的方便函数
python 也应该有(ง ••)ง,python 里的map 只能操作不能过滤,(++)?
算了反正不是像perl 一样的字符串处理专攻
第一种:单行for 循环加判断
element for element in li if not isinstance(element,int) and len(element)>5]
拆解下
#x do something for x in x_list if xxx
for element in li :
if not isinstance(element,int) and len(element)>5:
element#这里啥都没做只是返回个元素
但是后面用[]括号包好包起来
[ element1, element2, element3, element4]
平常你怎么手动建立列表?
list=[a,b,c,d]
#(o゚v゚)ノ对比下
第二种:
# 定义一个lambda函数:int类型没有长度,所以需要首先排除
g = lambda x : not isinstance(x,int) and len(x)>5
out_data = [element for element in li if g(element)]
print out_data
#isinstance(x,int) 判断属性类型是否是整型
lambda 是种匿名函数,这里只是把判断内容写成了一个函数
#就是一个没名字函数(lll¬ω¬)
lambda 参数:操作+最后的结果就是返回值呀
f = lambda x, y, z :x+y+z
print f(1,2,3) #6
像不像三目表达式
#三目表达式----就是一种判断
b = a > 1? "yes 执行":"No执行"
#问号前是判断,后面是选择
参考自:
python列表过滤的方法
python lambda表达式
python中的三元表达式(三目运算符)
吐槽:大佬们右下角总有东西
网友评论