有没有一种pythonic方法可以在循环中连接字符串以创建文本块?
例:
for x in range(4):
content = f'{x}[block]'
content+content
print(content)
期望的结果:
0[block]
1[block]
2[block]
3[block]
您可以将str.join()
与生成器表达式一起使用,通过换行符连接块字符串:
print("n".join(f"{x}[block]" for x in range(4)))
或者为了提高性能,请改用列表推导
:print("n".join([f"{x}[block]" for x in range(4)]))
有关为什么第二种方法比第一种方法更快的更多信息,请参阅此答案
此外,您还可以将每个块字符串附加到列表中,并在末尾连接它们:
blocks = []
for x in range(4):
blocks.append(f"{x}[block]")
print("n".join(blocks))
如果我们想简单地打印每个块字符串而不用换行符连接,我们可以使用print()
中的sep
关键字:
print(*(f"{x}[block]" for x in range(4)), sep="n")
输出:
0[block]
1[block]
2[block]
3[block]