Is it possible to have a dictionary or set comprehension inside of an f-string in python 3.6+?
It seems syntactically impossible:
names = ['a', 'b', 'c']
pks = [1, 2, 3]
f"{{name : pk for name, pk in zip(names, pks)}}"
This will return:
{name : pk for name, pk in zip(names, pks)}
This is expected behavior, double brackets result in literal brackets in the output as the expression isn't evaluated.
Has anyone found a workaround to allow for dictionary/set comprehensions inside of f-strings?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…