【发布时间】:2018-05-17 23:41:25
【问题描述】:
我需要实现埃拉托色尼筛算法。
我有名单:bar = [2, 3, 4, 5, 6, 7, 8, 9, 10]
我需要用“0”替换每个奇数元素。
现在我有代码了:
while viewIndex < maxNumber:
bar[viewIndex] = 0
viewIndex += 2
但我记得切片。对我来说,写这样的东西会很好:
bar[currentIndex::2] = 0
但我有错误:
TypeError: must assign iterable to extended slice
也许你知道这个任务的一个很好的解决方案。
【问题讨论】:
-
如果您正在寻找构建 Eatosthenes 筛,有一个 here。不知道你仅仅通过跳过奇数索引来完成什么。筛子会为您处理所有事情。
-
numpy 让您可以直接执行此操作。如果核心 python 也这样做会很好。