美文网首页
【python】过滤list

【python】过滤list

作者: Silver_42ac | 来源:发表于2019-08-20 20:34 被阅读0次

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中的三元表达式(三目运算符)

吐槽:大佬们右下角总有东西

相关文章

网友评论

      本文标题:【python】过滤list

      本文链接:https://www.haomeiwen.com/subject/xkemsctx.html