我有一个名为sqPyramidVolume的函数,它接受两个列表参数:baseHeightList和volumeList
基本高度列表是包含基本高度的元组列表
我使用map函数来计算体积,它创建了一个我设置为“volume”的列表。一旦它确定两个列表中是否都有一个值,它就会被放入“correctLIst”中。然后返回correctList
我的问题:
我想使用filter函数查看volumeList和volume,看看它们是否有相似的值。我知道我可以使用类似“correctList=[c for c in volumeList if c in volume]”的东西,但如果可能的话,我希望使用filter
这是我目前的代码:
baseHeightList = [(1,3),(3,4)]
volumeList = [13,1,12,9,4,2]
def sqPyramidVolume(baseHeightList,volumeList):
volume = map(lambda x: int((x[0]**2 * x[1])/3),baseHeightList)
for n in volumeList:
correctList = filter(lambda x: x[n] == volume[n],volumeList)
return correctList
sqPyramidVolume(baseHeightList,volumeList)
返回值应为[1,12]。任何帮助都将不胜感激
我个人会使用
sets
来检查是否包含,而不是使用filter
内置函数。尽管如此,我还是在这里包含了正确的过滤器函数相关问题 更多 >
编程相关推荐