(Python).format() 输出错误

(Python).format() is output incorrectly

Element = ["abc1", "abc2", "abc3", "abc abc abc4", "abc abc5", "abc6"]

swaps = {'{}'.format(Element[0]): random.choice(('{ff}')).format(ff = Element[1:])}
print(swaps)

如果你运行

{'abc1':'f'}

这样出来还是

ValueError: Single'}' encountered in format string`

结果是这样的

我想要的是除了abc1以外的元素都作为ff插入,输出一个随机选择的值。例如

swaps = {'{}'.format(Element[0]): random.choice(('{ff}')).format(ff = Element[1:])}
print(swaps)
>>>{'abc1':'abc3'}
print(swaps)
>>>{'abc1':'abc abc5'}
print(swaps)
>>>{'abc1':'abc abc abc4'}

鉴于您想要的输出,您希望创建新的词典,而不是词典的字符串表示形式,因此这样做:

swaps = {Element[0]: random.choice(Element[1:])}

如果您仍然需要字典的字符串表示形式,您可以使用

str(swaps)