gpt4 book ai didi

python - 在 python 中,如何将数组/列表与数字进行比较

转载 作者:行者123 更新时间:2023-12-01 05:10:53 26 4
gpt4 key购买 nike

array = []
while len(array) < 1000:
i=2
if i%array == 0:
append.array(i)
i = i + 1
print array[999]

出于学习目的,我试图找到第 1000 个素数。唯一的问题是我找不到一种方法来检查 i 是否可以被数组中的元素整除。 如果 i%array == 0:不是正确的语法,那么什么是正确的语法?

最佳答案

你可以这样做:

any(item%i == 0 for item in array)

基本上,您检查生成器表达式的任何项目是否满足您的条件。

来自Python documentation :

 all(iterable)

Return True if all elements of the iterable are true (or if the iterable is empty).

我对 Python 不太熟悉,不知道它的效率如何。为了避免必须测试数组中的每个项目,您还可以尝试过滤测试条件的次数。例如,下面的行将为您提供直到第一个不满足条件的所有元素的列表。由此您可以知道您的条件是否满足(例如通过检查长度)以及哪个项目满足它。

filtered = list(itertools.takewhile(lambda item: item%a != 0, array))
if len(filtered) != len(array):
print array[len(filtered)]

在这里,我选择在满足条件的第一个元素处停止,但可能还有其他方法!

关于python - 在 python 中,如何将数组/列表与数字进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24238030/

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