繁体   English   中英

如何从此 python 代码中删除多余的逗号

[英]How to remove the extra comma from this python code

这是我的 python 代码,最后给了我一个额外的逗号,我无法弄清楚如何解决这个问题。

代码:

x = int(input())
y = int(input())
z = int(input())
n = int(input())
print("[",end="")
for i in range(0,x+1):
    for j in range(0,y+1):
        for k in range(0,z+1):
            if((i+j+k)!=n):
                print("[",end="")
                print(i,end=",")
                print(j,end=",")
                print(k,end="")
                print("]",end="")
                print("",end=",")
print("]",end="")

Output

您可以使用join方法:

x = int(input())
y = int(input())
z = int(input())
n = int(input())

print("[", end="")
join_list = []
for i in range(0, x + 1):
    for j in range(0, y + 1):
        for k in range(0, z + 1):
            if (i + j + k) != n:
                join_list.append(f"[{i},{j},{k}]")
print(",".join(join_list), end="")
print("]", end="")

或结合理解

x = int(input())
y = int(input())
z = int(input())
n = int(input())

print(
    "["
    + ",".join(
        f"[{i},{j},{k}]"
        for i in range(x + 1) for j in range(y + 1) for k in range(z + 1)
        if i + j + k != n
    )
    + "]",
    end=""
)

或者使用itertools.product而不是嵌套推导:

from itertools import product

x = int(input())
y = int(input())
z = int(input())
n = int(input())

print(
    "["
    + ",".join(
        "[{},{},{}]".format(*p)
        for p in product(range(x + 1), range(y + 1), range(z + 1))
        if sum(p) != n
    )
    + "]",
    end=""
)

或者先构建列表,然后将其转换为字符串并替换空格:

from itertools import product

x = int(input())
y = int(input())
z = int(input())
n = int(input())

result = [
    list(p)
    for p in product(range(x + 1), range(y + 1), range(z + 1))
    if sum(p) != n
]
print(str(result).replace(" ", ""), end="")

append func 用于收集

y = int(input())
z = int(input())
n = int(input())
a =  []
# print("[",end="")
for i in range(0,x+1):
    for j in range(0,y+1):
        for k in range(0,z+1):
            if((i+j+k)!=n):
                a.append([i,j,k])
print(a)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM