(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)
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)