Почему индексация анонимного кортежа в f-строке дает ошибку? - PullRequest
0 голосов
/ 24 апреля 2020

Я пытаюсь понять, почему это происходит:

>>> 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), пожалуйста?

ПРИМЕЧАНИЕ: Я не ищу альтернативные способы сделать это, но чтобы узнать и понять эту конкретную ошибку, если это возможно.

1 Ответ

2 голосов
/ 24 апреля 2020

Кавычки являются проблемой. Они заканчивают f-строку и должны быть экранированы или заменены на '.

...