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

Python中如何将字典的列表类型值转换为竖线分隔的字符串

问题原因分析

你原有代码存在两个核心问题:

  • 没有提前初始化空字典mynew,直接给mynew[keys]赋值会触发变量未定义报错
  • mynew[keys] = 后面没有跟上要赋值的内容,属于语法错误
修正后的实现方案

方案1:和你原有逻辑一致的循环实现

先初始化空字典,再遍历原有字典完成赋值即可:

pydict = {"Market":['market', 'shop', 'shopping']}
# 先初始化空字典存储结果
mynew = {}
# 遍历原字典的键值对(这里用单数key/value命名更符合单条遍历的语义,你也可以保留原来的keys/values命名)
for key, value in pydict.items():
    joined_str = "|".join(value)
    mynew[key] = joined_str
    print(key, joined_str)

print(mynew)

运行后输出就是预期效果:{'Market': 'market|shop|shopping'}

方案2:更简洁的字典推导式实现

如果不需要额外的逐行打印逻辑,用字典推导式一行就能完成转换,代码更精简:

pydict = {"Market":['market', 'shop', 'shopping']}
mynew = {key: "|".join(value) for key, value in pydict.items()}
print(mynew)

内容的提问来源于stack exchange,提问作者Rahul Anand

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 19:06:07