连接 python 字典中的键值对

concatenate key value pairs from python dictionary

我在 python 中有一本字典。键和值都是字符串。事实上,键是某种标志(如 -f),值是选项(例如 20 之类的整数)。我想要做的是创建一个包含所有键和值的字符串。 字典可能看起来像这样: {'-f': 20, '-d': 30} 我想要的是这样的: "-f 20 -d 30" 我认为这应该是一件容易的事,但直到现在我都找不到解决方案...

这是一种使用列表理解的方法:

d = {'-f': 20, '-d': 30}
' '.join([i for k,v in d.items() for i in [k, str(v)]])
# '-f 20 -d 30'

相当于:

out = []
for k,v in d.items():
    for i in [k, str(v)]:
        out.append(i)

' '.join(out)
# '-f 20 -d 30'

一次尝试:

s = ''
for k, v in dct.items(): 
    s += k + ' ' + str(v) + ' '
    # remove the last character, an unnecessary space
    s = s[:-1] 

您可以将 str.joingenerator expression 一起使用:

d = {'-f': 20, '-d': 30}

' '.join(str(e) for t in d.items() for e in t)
# '-f 20 -d 30'