所以。我在写作业代码。我有一大组数据(包括性别、职业和体重),大致分为学生/非学生和男性/女性。
我被要求对数据进行过滤(已经使用了一个带有参数的函数),这样我就可以得到:
但是,我脑海中浮现出一个疑问:我是应该遍历大列表中的每个元素并检查每个元素,还是应该为每个限制创建一段代码?哪一种是最有效/最有效的?
数据排列在子列表中,如
['E', '23', 'M', 'AC', 96.5, 0.69, '130.28']按照顺序,它告诉学生/非学生、年龄、性别、吃前/餐后的体重、体重的预期误差以及测量的时间。
现在,我首先迭代,然后用下面的代码进行检查。
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发布于 2017-05-25 06:26:06
您应该定义过滤器函数:
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)]https://stackoverflow.com/questions/44172566
复制相似问题