У меня есть функция под названием sqPyramidVolume, которая принимает два параметра, которые перечислены: baseHeightList и volumeList.Нахождение подобных значений в двух списках, используя функцию фильтра
baseHeightList - это список кортежей, которые содержат основание и высоту.
Я использую функцию карты для вычисления тома, который создает список, который я установил как «том». Как только он определяет, будет ли одно значение в обоих списках, оно помещается в «correctLIst». Затем возвращается правильный список.
Мой вопрос:
Я хочу использовать функцию фильтра, чтобы посмотреть на volumeList и объема, чтобы увидеть, если они имеют одинаковые значения. Я знаю, что могу использовать что-то вроде: «correctList = [c для c в volumeList, если c in volume]», но я хотел бы использовать фильтр, если это возможно.
Это мой код до сих пор:
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]. Любая помощь будет оценена по достоинству.