[英]How to remove \n1, \n2, \n3 etc. from a string in python list?
[英]How to make a function that returns all integers that are multiples of either parameters n1 or n2 within the list n
3個參數:整數列表(n),integer數(n1),另一個integer數(n2),不包括0
我有:
def hw(n, n1, n2):
multiples = []
for i in n:
if i % n1 == 0 and i % n2 == 0:
return multiples
這是錯誤的,甚至沒有返回任何東西。 不過,我不確定我哪里出錯了? 測試腳本:
sol= hw(np.arange(20), 3, 4)
assert sol==[3, 4, 6, 8, 9, 12, 15, 16, 18]
使用return
您只需在第一次迭代中從 function 返回,您需要append
到列表並在循環外返回列表。
def hw(n, n1, n2):
multiples = []
for i in n:
if i % n1 == 0 or i % n2 == 0:
multiples.append(i)
return multiples
此外and
如果您需要3
或4
的倍數,請使用or
代替。
這是使用列表理解的方法:
def fun(n, n1, n2):
multiples = [i for i in n if i % n1 == 0 and i % n2 == 0]
return multiples
res = fun([18, 23, 21, 42, 3], 3, 7)
print(res)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.