繁体   English   中英

将 for 循环 output 保存到变量中

[英]Saving a for loop output into a variable

例如给定以下 for 循环:

for i in range(3):
    print(i, '->',i+1)

给出 output:

0 -> 1
1 -> 2
2 -> 3

我如何以字符串形式保存此 output 以便将其保存在变量中。

因此,例如可以说print(my_variable)而 output 就是上面的 output。

编辑给定以下列表:

[['ORGANIZATION', 'EDUCATION', 'UniversityWon', 'FormMathematics'], ['PERSON', 'Sixth', 'Economics'], ['GPE', 'FrenchUK', 'London']]

我有以下 for 循环以所需的方式打印它们:

for i in output:
    print(i[0], '->', ', '.join(i[1:]))

Output 的:

ORGANIZATION -> EDUCATION, UniversityWon, FormMathematics
PERSON -> Sixth, Economics
GPE -> FrenchUK, London

我怎样才能将这个 output 保存到一个变量中,这样如果我执行print(variable) ,上面的 output 就会被打印出来?

列表理解可用于生成单个字符串。

[f"{i} -> {i + 1}" for i in range(3)]

然后我们可以加入换行符。

"\n".join([f"{i} -> {i + 1}" for i in range(3)])

但是我们不需要在这里使用列表理解。 生成器表达式会更高效,因为它不会先生成整个列表,然后再遍历该列表。

"\n".join(f"{i} -> {i + 1}" for i in range(3))

如果每一行都需要以换行结尾,您可以将其考虑到 f 字符串中,然后用空字符串连接它们。

''.join(f"{i} -> {i + 1}\n" for i in range(3))

您可以像这样使用 f 字符串:

result = ""

for i in range(3):
    result += f"{i} -> {i + 1}\n"

print(result)

暂无
暂无

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

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