美文网首页
01 如何在列表、字典、集合中筛选数据

01 如何在列表、字典、集合中筛选数据

作者: 追日填海 | 来源:发表于2019-04-27 08:30 被阅读0次

    应用场景

    从列表、字典、集合中筛选出符合要求的数据项目。

    解决方法

    迭代序列法

    from random import randint
    data = [randint(-10, 10) for _ in xrange(10)]
    def select(data):
      result = []
      for e in data:
        if e>0: result.append(e)
    

    这种方法容易理解,但是效率低下,十分丑陋。

    filter函数法

    from random import randint
    data = [randint(-10, 10) for _ in xrange(10)]
    def select(data):
      return filter(lamda x:x>0, data)
    

    列表解析法

    from random import randint
    data = [randint(-10, 10) for _ in xrange(10)]
    def select(data):
      return [x for x in data if x>0]
    

    对于字典,有字典解析法。

    d = {x: randint(60,100) for x in xrange(1,21)}
    {k:v for k, v in d.iteritems() if v>90}
    

    对于集合,有集合解析法。

    data = [randint(-10, 10) for _ in xrange(10)]
    s = set(data)
    {x for x in s if x % 4 == 0}

    相关文章

      网友评论

          本文标题:01 如何在列表、字典、集合中筛选数据

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