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