不知道如何準確地描述這個問題......
正在嘗試創建一個回傳多個過濾元素串列的函式:
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視為整體而不是兩個獨立的元素值串列。
函式的思想應該是:

那么有什么方法可以訪問單個元素串列以執行進一步的計算,然后將其作為多個子串列附加到新串列中?
uj5u.com熱心網友回復:
您沒有清楚地提到這里需要實作什么,但根據我的理解,您交換了 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)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/326379.html
