给定一个列表lst = [121, 4, 37, 441, 7, 16]
,我想从中删除所有重复的数字,从而产生一个新的字符串,它将是lst = [37,7]
(原始字符串的素数)。从列表中获取素数
到目前为止,我只设法把这项代码:
def func(lst,x):
y = []
for i in lst:
for x in range (1, i):
if (i % x) == 0 :
y.append(i)
return y
print(func(lst,3))
非但没有lst = [37,7]
,我得到这个怪异的名单:
[121, 121, 4, 4, 37, 441, 441, 441, 441, 441, 441, 441, 441, 7, 16, 16, 16, 16]
有什么办法我可以使这项工作?
'121%1 == 0'当然是真的,就像'121%11 == 0'一样。你的代码重复每个数字'K'次,其中'K'是正确的除数(包括'1')的数量。由于这似乎是功课,我会让你拼出如何修复它。 –
我没有得到?你想删除所有非素数? –
谢谢John Coleman,我肯定会的! – Marujo92