You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python字符串格式化中遍历字典并输出键值?

解决字典键值在f-string中拼接输出的问题

你当前代码的问题是:在f-string里直接写{k for k,v in dict}这种生成器表达式,Python会把它解析成生成器对象,而不是你期望的拼接后的字符串,运行时会输出类似<generator object <genexpr> at 0x...>的结果,无法得到目标格式。

正确的做法是用' '.join()方法把字典的键或值拼接成空格分隔的字符串,再放到f-string中。另外注意不要用dict作为变量名,这会覆盖Python内置的dict类型,建议换成比如my_dict。

示例代码

my_dict = {'this':'I','is':'am','title':'done'}
# 输出键
print(f'the key is {" ".join(my_dict.keys())}')
# 输出值
print(f'the val is {" ".join(my_dict.values())}')

如果一定要通过遍历items()的方式获取键和值,也可以这么写:

my_dict = {'this':'I','is':'am','title':'done'}
print(f'the key is {" ".join(k for k, v in my_dict.items())}')
print(f'the val is {" ".join(v for k, v in my_dict.items())}')

运行结果

the key is this is title
the val is I am done

' '.join()会接收一个可迭代对象(比如字典的keys()、values(),或者生成器表达式),把其中每个元素用空格连接成完整字符串,这样就能实现任意长度字典的指定格式输出。

内容的提问来源于stack exchange,提问作者FL.S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 07:21:31