TypeError:尝试使用列表推导时无法解压缩不可迭代的int对象

时间:2018-10-29 16:04:59

标签: python

我相信这意味着我不能在循环中使用变量,但是我有点卡在它上面。

我要解决的问题是:

  

创建一个算法,查找满足以下条件的小于n的素数对:(p * q)<= n(n是自然数)。

我考虑过使用列表理解。

到目前为止,我的代码:

n = 100

primes = [p for p in range(2, n) if 0 not in [p%d for d in range(2, p)]]

prime_pairs = [((p * q) <= n) for (p, q) in primes]

1 个答案:

答案 0 :(得分:0)

prime_pairs = [((p * q) <= n) for (p, q) in primes]
罪魁祸首是

。 primes是一个整数列表,因此您不能将单个int解压缩为元组。

如@ matina-g建议改用此:

prime_pairs = [(p, q) for p in primes for q in primes if p * q <= n]