
On 08/02/2015 11:37 AM, Eric V. Smith wrote:
On 8/1/2015 1:43 PM, Eric V. Smith wrote:
On 7/25/2015 3:55 PM, Eric V. Smith wrote:
If you want to put it in an f-string, you'd naively write:
f'expr={{x: y for x, y in [(1, 2), (3, 4)]}}' 'expr={x: y for x, y in [(1, 2), (3, 4)]}'
This probably doesn't work either... f'expr={{{x: y for x, y in [(1, 2), (3, 4)]}}}' Escaping "{{{" needs to resolve for left to right to work. Which is weird.
But as you see, this won't work because the doubled '{' and '}' chars are just interpreted as escaped braces, and the result is an uninterpreted string literal, with the doubled braces replaced by undoubled ones.
There's currently no way around this. You could try putting a space between the left braces, but that fails with IndentationError:
Could two new escape characters be added to python strings? "\{" and "\}" f'expr={\{x: y for x, y in [(1, 2), (3, 4)]\}}' Ron