Python根据过滤器拆分列表

 更新时间:2021年11月11日 15:17:16   作者:Felix  
这篇文章主要介绍了Python根据过滤器拆分列表,利用Python代码实现代通过过滤器拆分列表的功能。文章围绕其相关资料展开详细内容,需要的朋友可以参考一下

1. bifurcate

def bifurcate(lst, filter):
  return [
    [x for i, x in enumerate(lst) if filter[i] == True],
    [x for i, x in enumerate(lst) if filter[i] == False]
  ]

# EXAMPLES
bifurcate(['beep', 'boop', 'foo', 'bar'], [True, True, False, True]) # [ ['beep', 'boop', 'bar'], ['foo'] ]


bifurcate函数通过一个过滤器filter定义的内容,将输入列表lst分成两组。将filter中为True的对应的lst的项放入结果的第一个列表中,将filter中为False的对应的lst的项放入结果的第二个列表中。

2. enumerate

enumerate(iterable, start=0)


enumerate函数接收一个可迭代对象,并返回一个迭代对象。该迭代对象每次迭代返回一个元组,该元组包括一个序号和接收的可迭代对象的迭代值。start参数用于设定序号的初始值,默认为0。

示例使用为:

>>> seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>> list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
>>> list(enumerate(seasons, start=1))
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]


enumerate函数的实现逻辑相当于如下代码:

def enumerate(sequence, start=0):
    n = start
    for elem in sequence:
        yield n, elem
        n += 1

3. 列表推导式

该函数使用列表推导式判断lst里面值对应位置的filter的值,并生成对应的分组列表。

列表推导式的简单介绍可以查看:Python 实现过滤掉列表中唯一值的章节。

到此这篇关于Python根据过滤器拆分列表的文章就介绍到这了,更多相关Python根据过滤器拆分列表内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python中子类与父类的关系基础知识点

    python中子类与父类的关系基础知识点

    在本篇文章里小编给大家整理的是一篇关于python中子类与父类的关系基础知识点内容,对此有兴趣的朋友们可以学习下。
    2021-02-02
  • Python使用Tkinter实现机器人走迷宫

    Python使用Tkinter实现机器人走迷宫

    这篇文章主要为大家详细介绍了Python使用Tkinter实现机器人走迷宫,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • Python采集二手车数据的超详细讲解

    Python采集二手车数据的超详细讲解

    这篇文章主要为大家介绍了Python采集二手车数据实现的超详细讲解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • pyqt5主窗口按键弹出子窗口的实现

    pyqt5主窗口按键弹出子窗口的实现

    本文主要介绍了pyqt5主窗口按键弹出子窗口的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • Python ArgumentParse的subparser用法说明

    Python ArgumentParse的subparser用法说明

    这篇文章主要介绍了Python ArgumentParse的subparser用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • python实现进程间通信简单实例

    python实现进程间通信简单实例

    这篇文章主要介绍了python实现进程间通信简单实例,需要的朋友可以参考下
    2014-07-07
  • pandas数据处理之绘图的实现

    pandas数据处理之绘图的实现

    这篇文章主要介绍了pandas数据处理之绘图的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • 手把手教你从PyCharm安装到激活(最新激活码),亲测有效可激活至2089年

    手把手教你从PyCharm安装到激活(最新激活码),亲测有效可激活至2089年

    最近很多网友找小编反映PyCharm激活码失效了,原来的已经不能用了。浪费了半天时间终于找到一个可以使用的了,支持最新JetBrains全系列产品(Pycharm 2020.2.x,Intellij idea 2020.2.x,WebStorm 2020.2.x)。,需要的朋友可以参考下
    2020-10-10
  • python3中sort和sorted使用与区别

    python3中sort和sorted使用与区别

    python3中sort()和sorted()都可以用来排序,本文主要介绍了python3中sort和sorted使用与区别,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • Python异常与错误处理详细讲解

    Python异常与错误处理详细讲解

    这篇文章主要介绍了Python异常与错误处理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-12-12

最新评论