[英]Why does my basic print statement work, but my f-string version produces a syntax error?
[英]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.