在 Python 3 中连接带有数学符号的字符串

Concatenating strings with mathematical symbols in Python 3

我创建了一个人名字典:

names = {"first": , "second": , "third":}

我想做的是调用每个名称并将它们组合成一个字符串,用加号分隔。下面是一个繁琐的方法:

str(names["first"]) + "+" + str(names["second"]) + "+" + str(names["third"])

这一行来自我试图创建的一个更大的模块。为了简单起见,我尝试遵循以下步骤,但它导致了语法错误:

str(names["first"] "%+d" + names["second"] "%+d" + names["third"])

有没有办法简化上面的内容以便打印:

firstname+secondname+thirdname

在 python 2 中,您必须使用略显 hacky

"{first}+{second}+{third}".format(**names)

然而,正如 GingerPlusPlus 指出的那样,在 python 3 中,您可以摆脱这种 **kwargs 欺骗,而是使用 format_map

"{first}+{second}+{third}".format_map(names)

如果可以用namedtuple代替dict来存储名字,我建议:

'+'.join(map(str, names))