Python:删除不必要的括号?

kon*_*und 2 python syntax

我在Python中编写了一个非常简单的函数,它打印出特定序列中的所有素数.

它工作正常,但它给我的结果有太多的括号/括号.我想把结果作为一个输出,只有一个包含所有数字的列表,而不是很多输出,每个包含一个数字.

这是代码:

def prime_list(X, Y):
    Z = 0
    while X <= Y:
        if is_prime(X):
            Z = Z, X
        X = X + 1
    print (Z)
Run Code Online (Sandbox Code Playgroud)

如果数字是素数,is_prime()则代码中使用的函数返回True,如果不是,则返回False.

基本上,对于每个循环,它检查是否X是素数.如果是,X将被添加到名为的列表中Z.虽然,当它这样做时,它还会在列表中添加不必要的括号/括号.这是结果,使用序列1-100:

>>> prime_list(1,100)
(((((((((((((((((((((((((0, 2), 3), 5), 7), 11), 13), 17), 19), 23), 29), 31), 37), 41), 43), 47), 53), 59), 61), 67), 71), 73), 79), 83), 89), 97)
Run Code Online (Sandbox Code Playgroud)

如您所见,括号/圆括号太多了.

我怎样才能重写代码,所以它不能制作这些代码?

Cai*_*von 5

只需附加到列表而不是嵌套元组:

def prime_list(X, Y):
    Z = []
    while X <= Y:
        if is_prime(X):
            Z.append(X)
        X = X + 1
    return Z
Run Code Online (Sandbox Code Playgroud)