[英]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.