为什么这个使用 Python f-string 的 print 语句输出双括号?
Why does this print statement using a Python f-string output double parentheses?
在下面的代码中,我输出了可用于索引列表 lst
的值范围。
然而,由于 Python 的格式字面值有些奇怪,输出包含两个左括号和两个右括号,而不是一个。
我看不出我的格式字符串有什么问题。我只是将所有应该替换的表达式放在花括号中。其余的不应该被替代。
lst = [1,2,3,4,5,6]
print(f"range({-len(lst), len(lst)})")
> range((-6, 6))
表达式-len(lst), len(lst)
是一个元组。通常是逗号构成元组,而不是括号。因此,您的输出显示您明确编写的外括号和元组中的内括号。为避免这种情况,请为要打印的每个项目设置单独的格式:
print(f"range({-len(lst)}, {len(lst)})")
或者,您可以删除显式括号:
print(f"range{-len(lst), len(lst)}")
你应该把大括号单独放在一起,而不是放在一起。喜欢:
print(f"range({-len(lst)}, {len(lst)})")
如果这不起作用,那么我不知道任何其他解决方案。
在下面的代码中,我输出了可用于索引列表 lst
的值范围。
然而,由于 Python 的格式字面值有些奇怪,输出包含两个左括号和两个右括号,而不是一个。
我看不出我的格式字符串有什么问题。我只是将所有应该替换的表达式放在花括号中。其余的不应该被替代。
lst = [1,2,3,4,5,6]
print(f"range({-len(lst), len(lst)})")
> range((-6, 6))
表达式-len(lst), len(lst)
是一个元组。通常是逗号构成元组,而不是括号。因此,您的输出显示您明确编写的外括号和元组中的内括号。为避免这种情况,请为要打印的每个项目设置单独的格式:
print(f"range({-len(lst)}, {len(lst)})")
或者,您可以删除显式括号:
print(f"range{-len(lst), len(lst)}")
你应该把大括号单独放在一起,而不是放在一起。喜欢:
print(f"range({-len(lst)}, {len(lst)})")
如果这不起作用,那么我不知道任何其他解决方案。