繁体   English   中英

为什么此打印语句使用 Python f-string output 双括号?

[英]Why does this print statement using a Python f-string output double parentheses?

在下面的代码中,我 output 可以用来索引列表lst的值范围。 然而,由于 Python 的格式文字有些奇怪,output 包含两个左括号和两个右括号,而不是一个。 我看不出我的格式字符串有什么问题。 我只是将所有应该替换的表达式放在花括号中。 不应替换 rest。

lst = [1,2,3,4,5,6]
print(f"range({-len(lst), len(lst)})")
> range((-6, 6))

表达式-len(lst), len(lst)是一个元组。 通常是逗号组成一个元组,而不是括号。 因此,您的 output 显示了您明确编写的外括号,以及元组中的内括号。 为避免这种情况,请为要打印的每个项目使用单独的格式:

print(f"range({-len(lst)}, {len(lst)})")

或者,您可以删除显式括号:

print(f"range{-len(lst), len(lst)}")

您应该单独放置大括号,而不是全部放置。 喜欢:

print(f"range({-len(lst)}, {len(lst)})")

如果这不起作用,那么我不知道任何其他解决方案。

暂无
暂无

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

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