为什么在 f 字符串中索引匿名元组会出错?

Why does indexing anonymous tuple in f-string give an error?

我想了解为什么会这样:

>>> selection = False
>>> a = ("NO", "YES")
>>> print(f"{a[int(selection)]}")
NO
>>> print(f"{("NO", "YES")[int(selection)]}")
  File "<stdin>", line 1
    print(f"{("NO", "YES")[int(selection)]}")
                ^
SyntaxError: invalid syntax

我对 Python 的所有了解让我认为这应该可以正常工作,但由于显然不是,这里有一个学习机会。

有人可以解释一下为什么在 Python (3.7.3) 中索引匿名元组不被识别为有效语法吗?

注意:我不是在寻找其他方法来执行此操作,而是在可能的情况下学习和理解这个特定错误。

引号有问题。它们终止 f 字符串,需要 转义或 替换为 '