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

Python拼接多组键值对为指定格式字符串报语法错误如何解决

问题原因

你写的两处代码的无效语法错误确实和冒号有关:

  • 'key':'value' 这种用冒号分隔的键值对写法,仅能在字典字面量、字典推导式等特定语法场景下使用。你直接把裸键值对传给str()或者str.join(),Python无法识别这种语法,就会抛出报错。
  • 另外两个函数的用法也不符合要求:
    • str.join() 要求传入的参数是可迭代的字符串序列,不能直接传零散的键值对
    • str() 构造函数仅支持传入单个待转字符串的对象,或编码、错误处理相关参数,不支持直接传入零散键值对

解决方法

你的预期输出是Python字典去掉外层大括号的字符串形式,按以下步骤实现即可:

  1. 先构造合法的Python字典
  2. 将字典转为字符串后,切掉首尾的大括号即可

代码示例:

# 构造合法字典
data = {
    'place_id': 231350287,
    'licence': 'Data © OpenStreetMap contributors, ODbL 1.0. osm.org/copyright',
    'osm_type': 'way',
    'osm_id': 701902497,
    'boundingbox': ['41.4689704', '41.4693896', '-81.9377844', '-81.9371249'],
    'lat': '41.46913635',
    'lon': '-81.93749898507869'
}
# 处理为符合要求的字符串
my_string = str(data)[1:-1].strip()

运行后my_string的内容和你预期的输出完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 00:48:04