Python根据过滤器拆分列表

目录
  • 1. bifurcate
  • 2. enumerate
  • 3. 列表推导式

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根据过滤器拆分列表内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python中分组函数groupby和分组运算函数agg的使用

    目录 groupby: agg: 今天来介绍pandas中一个很有用的函数groupby,其实和hive中的groupby的效果是一样的,区别在于两种语言的写法问题.groupby在Python中的分组统计中很有用~ groupby: 首先创建数据: import pandas as pd import numpy as np df = pd.DataFrame({'A': ['a', 'b', 'a', 'c', 'a', 'c', 'b', 'c'], 'B': [2, 7, 1, 3, 3

  • Python 代码实现列表的最小公倍数

    目录 1. lcm 2. functools.reduce 3. 实际使用 本篇阅读的代码片段来自于30-seconds-of-python(https://github.com/30-seconds...). 1. lcm from functools import reduce from math import gcd def lcm(numbers): return reduce((lambda x, y: int(x * y / gcd(x, y))), numbers) # EXAMP

  • Python列表推导式详情

    目录 1.列表生成式 1.1 案例 2.集合生成式 3.字典生成式 1.列表生成式 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 语法结构如下: # 普通的生成式 [表达式 for 变量 in 旧列表] # 加条件的生成式 [表达式 for 变量 in 旧列表 if 条件] # if...else条件的生成式 [表达式 if 条件1 else 条件2for 变量 in 旧列表] 1.1 案例 过滤掉名词字母不足4的名字,示

  • Python 数字转化成列表详情

    目录 1. digitize 2. Python判断对象是否可迭代 本篇阅读的代码实现了将输入的数字转化成一个列表,输入数字中的每一位按照从左到右的顺序成为列表中的一项. 本篇阅读的代码片段来自于30-seconds-of-python. 1. digitize def digitize(n): return list(map(int, str(n))) # EXAMPLES digitize(123) # [1, 2, 3] 该函数的主体逻辑是先将输入的数字转化成字符串,再使用map函数将字符

  • 使用python对视频文件分辨率进行分组的实例代码

    在平时的工作中,我们的目录有很多的视频文件,如果你没有一个好的视频分类习惯,在找视频素材的时候会很费时,通过对视频的分辨路进行分类可以在需要的时候快速找到你想要的视频分辨率.当然人工去分类是一种比较费时费力的工作,通过软件也好,程序也罢都是为了可以提高我们的工作效率. 代码分享 import os import subprocess import json import shutil import datetime def get_files(file_dir): for root, dirs,

  • Python 列表映射后的平均值

    目录 1.average_by 2.lambda表达式 3.map函数 4.其他类似函数 4.1 max_by 4.2 min_by 4.3 sum_by 本篇阅读的代码片段来自于30-seconds-of-python. 1.average_by def average_by(lst, fn=lambda x: x): return sum(map(fn, lst), 0.0) / len(lst) # EXAMPLES average_by([{ 'n': 4 }, { 'n': 2 },

  • Python 实现过滤掉列表中唯一值

    目录 1.filter_unique 2.collections.Counter 3.列表推导式 4.filter_non_unique 1.filter_unique from collections import Counter def filter_unique(lst): return [item for item, count in Counter(lst).items() if count > 1] # EXAMPLES filter_unique([1, 2, 2, 3, 4, 4

  • Python代码实现列表分组计数

    目录 1. count_by 2. 使用字典推导式 3. 使用collections.defaultdict简化代码 本篇阅读的代码片段来自于30-seconds-of-python. 1. count_by def count_by(arr, fn=lambda x: x): key = {} for el in map(fn, arr): key[el] = 1 if el not in key else key[el] + 1 return key # EXAMPLES from math

  • Python根据过滤器拆分列表

    目录 1. bifurcate 2. enumerate 3. 列表推导式 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'], [

  • python中多层嵌套列表的拆分方法

    场景:有一个多层嵌套的列表如:[[23],[3,3],[22,22],1,123,[[123,a],2]] 拆分成: def splitlist(list): ''' 现有一个列表,里面元素包括 数字,字母,列表,字典等元素,现在要将字典去掉,并将列表 分解成字母,或数字元素如:[[1,2,3],2,3,[1,3,[12,22]],'a',12] 经函数处理后[1, 2, 3, 2, 3, 1, 3, 12, 22, 'a', 12] ''' alist = [] a = 0 for subli

  • Python将一个Excel拆分为多个Excel

    本文实例为大家分享了Python将一个Excel拆分为多个Excel的具体代码,供大家参考,具体内容如下 原始文档如下图所示 将销售部门一.二.三科分别存为三个Excel 代码如下 # -*- coding: utf-8 -*- """ Created on Mon Jul 9 20:25:31 2018 @author: Lenovo """ import pandas as pd data = pd.read_excel("E:\d

  • Python split() 函数拆分字符串将字符串转化为列的方法

    函数:split() Python中有split()和os.path.split()两个函数,具体作用如下: split():拆分字符串.通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list) os.path.split():按照路径将文件名和路径分割开 一.函数说明 1.split()函数 语法:str.split(str="",num=string.count(str))[n] 参数说明: str: 表示为分隔符,默认为空格,但是不能为空('').若字符串中没有分隔符

  • Python中过滤字符串列表的方法

    Python使用列表数据类型在顺序索引中存储多个数据.它的工作方式类似于其他编程语言的数字数组.filter()方法是Python的一种非常有用的方法.可以使用filter()方法从Python中的任何字符串.列表或字典中过滤一个或多个数值.它根据任何特定条件过滤数据.当条件返回true时,它将存储数据,而返回false时将丢弃数据.本文通过使用不同的示例展示了如何在Python中过滤列表中的字符串数据.您必须使用Python 3+来测试本文的示例. 使用另一个列表过滤字符串列表 本示例说明了如

  • Python字符串的拆分与连接详解

    目录 拆分字符串 无参数拆分 指定分隔符 使用 Maxsplit 限制拆分 连接和连接字符串 与+运算符连接 在 Python 中从列表到字符串 .join() 生活中几乎没有什么保证:死亡.税收和需要处理字符串的程序员.字符串可以有多种形式.它们可以是非结构化文本.用户名.产品描述.数据库列名称,或者我们使用语言描述的任何其他内容. 由于字符串数据几乎无处不在,因此掌握有关字符串的交易工具非常重要.幸运的是,Python 使字符串操作变得非常简单,尤其是与其他语言甚至旧版本的 Python 相

  • python追加元素到列表的方法

    本文实例讲述了python追加元素到列表的方法.分享给大家供大家参考.具体实现方法如下: scores = ["1","2","3"] # add a score score = int(raw_input("What score did you get?: ")) scores.append(score) # list high-score table for score in scores: print score 运行结

  • python提取字典key列表的方法

    本文实例讲述了python提取字典key列表的方法.分享给大家供大家参考.具体如下: 这段代码可以把字典的所有key输出为一个数组 d2 = {'spam': 2, 'ham': 1, 'eggs': 3} # make a dictionary print d2 # order is scrambled print d2.keys() # create a new list of my keys 希望本文所述对大家的Python程序设计有所帮助.

  • Python实现简单拆分PDF文件的方法

    本文实例讲述了Python实现简单拆分PDF文件的方法.分享给大家供大家参考.具体如下: 依赖pyPdf处理PDF文件 切分pdf文件 使用方法: 1)将要切分的文件放在input_dir目录下 2)在configure.txt文件中设置要切分的份数(如要切分4份,则设置part_num=4) 3)执行程序 4)切分后的文件保存在output_dir目录下 5)运行日志写在pp_log.txt中 P.S. 本程序可以批量切割多个pdf文件 from pyPdf import PdfFileWri

  • python通过索引遍历列表的方法

    本文实例讲述了python通过索引遍历列表的方法.分享给大家供大家参考.具体如下: python中我们可以通过for循环来遍历列表: colours = ["red","green","blue"] for colour in colours: print colour 如果希望遍历列表的同时得到元素的索引号,可以使用下面的代码: colours = ["red","green","blue&qu

随机推荐