首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我应该首先检查并计划相应的数据,还是应该检查每一个数据?

我应该首先检查并计划相应的数据,还是应该检查每一个数据?
EN

Stack Overflow用户
提问于 2017-05-25 04:56:50
回答 1查看 35关注 0票数 1

所以。我在写作业代码。我有一大组数据(包括性别、职业和体重),大致分为学生/非学生和男性/女性。

我被要求对数据进行过滤(已经使用了一个带有参数的函数),这样我就可以得到:

  • 每个重量的列表
  • 列出每个学生的体重
  • 列出每一个男性学生的体重
  • 列出每一个女学生的体重
  • 列出每一位非学生的体重

但是,我脑海中浮现出一个疑问:我是应该遍历大列表中的每个元素并检查每个元素,还是应该为每个限制创建一段代码?哪一种是最有效/最有效的?

数据排列在子列表中,如

代码语言:javascript
复制
['E', '23', 'M', 'AC', 96.5, 0.69, '130.28']

按照顺序,它告诉学生/非学生、年龄、性别、吃前/餐后的体重、体重的预期误差以及测量的时间。

现在,我首先迭代,然后用下面的代码进行检查。

代码语言:javascript
复制
def datafilter(fil=False,est=None,sex=None):
    Data=[]
    if not fil:
        for q in dreal():
            for w in q:
                Data.append(w[4])
        return Data
    if fil:
        for q in dreal():
            for w in q:
                if est is True and w[0]=='E':
                    if sex is None:
                        Data.append(w[4])
                    if w[2]==sex:
                        Data.append(w[4])
                if est is False and w[0]!='E':
                    Data.append(w[4])
        return Data
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-25 06:26:06

您应该定义过滤器函数:

代码语言:javascript
复制
def datafilter(fil=False, est=None, sex=None):
    if not fil:
        filter = lambda w: True
    elif est:
        if sex:
            filter = lambda w: w[0] == 'E' and w[2] == sex
        else:
            filter = lambda w: w[0] == 'E'
    else:
        filter = lambda w: w[0] != 'E' 
    return [w[4] for q in dreal() for w in q if filter(w)]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44172566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档