gpt4 book ai didi

python - 在python中删除列表中的素数索引位置

转载 作者:太空宇宙 更新时间:2023-11-03 17:54:58 25 4
gpt4 key购买 nike

我为我的 CS 类设置了一个小任务,其中我必须用 Python 编写一个方法来删除列表中素数索引位置处的项目,最多索引 50。

我尝试生成该方法,如下所示,但是当我尝试在该方法末尾打印列表时,它应该返回删除了素数索引位置中的值的列表,但它只是返回完整列表(数字 1 到 50)。

我的功能:

def listDelete(list):
for i in list:
if i %2 != 0 & i % 3 != 0:
del list[i]
return list

我使用以下方法调用该函数:

listDelete(range(1,50))

我对 python 很陌生,所以如果这是一个非常简单的修复,或者明显的错误,我深表歉意,但任何帮助将不胜感激!

最佳答案

您应该使用List类的pop方法,而不是del。为了使用 pop,您需要列表元素的索引,您可以使用 enumerate 在 for 循环中获取该索引:

def listDelete(list):
for index, value in enumerate(list):
if value % 2 != 0 and value % 3 != 0:
list.pop(index)
return list

print listDelete(range(1,50))

结果:

[2, 3, 4, 6, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 22, 24, 26, 27, 28,
30, 32, 33, 34, 36, 38, 39, 40, 42, 44, 45, 46, 48]

话虽这么说,你的逻辑并不能找到所有素数索引,例如 25 不是素数,但它不能被 2 或 3 整除。

关于python - 在python中删除列表中的素数索引位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28612733/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com