我通过创建排列生成了一个数字列表。我现在正试图从这个列表中删除非素数
import itertools
from sympy import isprime
values = list(itertools.permutations([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], 4))
def removeNonPrimes(items):
return [p for p in items if isprime(p)]
primes = removeNonPrimes(values)
print primes
但是,当我尝试创建一个仅包含素数的新列表时,会出现以下错误:
TypeError: int() argument must be a string or a number, not 'tuple'
为什么这是一个元组而不是一个列表?不过,为什么我不能像删除列表一样从元组中删除项呢
根据定义,元组是不可变的。您可以转换为一个列表,删除内容,然后转换回元组,如果你需要的话。另外,“values”是一个列表,但它是一个元组列表。转换为列表列表的简单方法:
相关问题 更多 >
编程相关推荐