Python 如何将多个dict组合成一个字符串?(关键和价值)

Python 如何将多个dict组合成一个字符串?(关键和价值),python,Python,我有两条格言: dict_1 = {'key1': 'value1'} dict_2 = {'key2': 'value2'} 我想将它们组合成一个字符串,类似于此(不必看起来像那样): 我试着这样来处理这个问题: final_string = ' - '.join(chain(map(lambda x: x, {**dict_1, **dict_2}))) 但它给了我这个: key1 - key2 我不知道要改变什么才能同时获得关键和价值? 有人能帮我吗?你可以使用items() '-'

我有两条格言:

dict_1 = {'key1': 'value1'}
dict_2 = {'key2': 'value2'}
我想将它们组合成一个字符串,类似于此(不必看起来像那样):

我试着这样来处理这个问题:

final_string = ' - '.join(chain(map(lambda x: x, {**dict_1, **dict_2})))
但它给了我这个:

key1 - key2
我不知道要改变什么才能同时获得关键和价值? 有人能帮我吗?

你可以使用
items()

'-'.join([''.join(i)表示({**dict_1,**dict_2}.items())]中的i)
您可以使用
items()

'-'.join([''.join(i)表示({**dict_1,**dict_2}.items())]中的i)

您可以将列表理解用作:

res = ' - '.join([f"{k} {v}" for d in [dict_1, dict_2] for k, v in d.items() ])
print(res)

您可以将列表理解用作:

res = ' - '.join([f"{k} {v}" for d in [dict_1, dict_2] for k, v in d.items() ])
print(res)

对代码的一个小调整:

' - '.join(map(lambda kv: ' '.join(kv), {**dict_1, **dict_2}.items()))

对代码的一个小调整:

' - '.join(map(lambda kv: ' '.join(kv), {**dict_1, **dict_2}.items()))

非常感谢你!非常感谢你!它很管用,谢谢!它很管用,谢谢!我没有想到列表理解,但它确实有效,谢谢!我没有想到列表理解,但它确实有效,谢谢!