zoukankan      html  css  js  c++  java
  • Python: itertools.compress()

    定义:

    itertools.compress()

    输入:

    iterable对象

    相应的Boolean选择器序列

    输出:

    iterable对象中对应选择器为True的元素

    用途:

    当需要用另外一个相关联的序列来过滤某个序列的时候,这个函数非常有用

    eg:

    两个列表如下,其元素相对应,现请根据count输出address,条件只输出count大于5的对应地址:

    addresses = [
    '5412 N CLARK',
    '5148 N CLARK',
    '5800 E 58TH',
    '2122 N CLARK'
    '5645 N RAVENSWOOD',
    '1060 W ADDISON',
    '4801 N BROADWAY',
    '1039 W GRANVILLE',
    ]
    counts = [ 0, 3, 10, 4, 1, 7, 6, 1]


    现在想将那些对应count 值大于5 的地址全部输出,可以这样做
    >>> from itertools import compress
    >>> more5 = [n > 5 for n in counts]
    >>> more5
    [False, False, True, False, False, True, True, False]
    >>> list(compress(addresses, more5))
    ['5800 E 58TH', '4801 N BROADWAY', '1039 W GRANVILLE']

    这里的关键点在于先创建一个booleam序列,指示出哪些元素符合条件,然后compress()根据这个序列去选择输出对应位置为True的元素。

    compress()返回的是一个迭代器,如果想得到一个列表,需要用list转换

  • 相关阅读:
    记一次内衣渗透
    mysql提权
    Token窃取与利用
    组策略首选项提权
    Windows错误配置提权
    windows内核溢出漏洞提权限
    xss漏洞
    mysql语句大全
    二叉树
    10个对所有学科都有用的Python数据可视化库
  • 原文地址:https://www.cnblogs.com/baxianhua/p/8287110.html
Copyright © 2011-2022 走看看