首页 > 解决方案 > Python独立计算列表中的元素列表?

问题描述

不知道如何准确描述这个问题......

正在尝试创建一个返回多个过滤元素列表的函数:

def search_test():
find = [('1', '2'), ('3', '4')]
abc = [1,6,15]
result = []
for i in abc:              
    for j in range(len(find)):  # <-  How to loop through the individual element list? 
        if float(find[j][0]) * float(find[j][1]) <= i:
            result.append(i)
return(result)
        
print(search_test())   

基本上,该函数期望计算值的乘积,find然后将其与 list 进行比较abc。如果产品大于元素,abc则附加到一个名为的新列表result

目前我得到的结果是[6,15,15]期望输出为[[6,15],[15]]. 换句话说,该函数当前将值find作为整体考虑,而不是它们自己的元素值的两个独立列表。

该功能的想法应该是:

在此处输入图像描述

那么有什么方法可以访问各个元素列表以执行进一步的计算,然后作为多个子列表附加到新列表中?

标签: pythonpython-3.xlist

解决方案


您没有明确提到这里需要实现什么,但据我了解,您交换了 for 循环。您似乎想知道abc的哪些元素满足find中每个元组的条件。所以首先 for 循环应该在find 之后,您需要为find中的每个元素创建结果列表并将该列表附加到final_result

def search_test():
find = [('1', '2'), ('3', '4')]
abc = [1, 6, 15]
final_result = []
for j in range(len(find)):
    result = []
    for i in abc:
        if float(find[j][0]) * float(find[j][1]) <= i:
            result.append(i)
    final_result.append(result)
return (final_result)

推荐阅读