美文网首页
【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