带有字典文字的python f-string

问题描述

如何在 f-string 花括号内创建字典文字

d_all = {d:d+2 for d in range(10)}
keys = [2,5]
tmp_dict = {d:d_all[d] for d in keys}
print(f'values: {tmp_dict}')

print(f'keys: {[d for d in keys]}')  # list works
print(f'dict: { {{d:d_all[d] for d in keys}} }'  # ???

解决方法

试试这个:

print(f'dict: { {d:d_all[d] for d in keys} }')