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

如何使用Python将给定格式的文本文件转换为指定结构的字典?

文本转关联字典的实现

解析注意事项

  • 文本里所有单独成行、结尾带冒号的全大写单词,直接拿来当字典的键
  • 每个键对应的内容行,只取最前面的城市名,后面跟的数字是距离值,不需要存到结果里
  • 输入文本里有个拼写小错误:RENNES条目下写的Breast是打错了,实际对应的是Brest,解析的时候要修正,不然结果对不上

可直接运行的解析代码

raw_text = """
BREST:
Rennes 244

RENNES:
Breast 244
Caen 176
Nantes 107
Paris 348

CAEN:
Calais 120
Paris 241
Rennes 176

CALAIS:
Caen 120
Nancy 534
Paris 297
"""

roads = {}
current_section = None

for line in raw_text.strip().splitlines():
    line = line.strip()
    if not line:
        continue
    # 匹配带冒号的键行
    if line.endswith(":"):
        current_section = line[:-1].strip()
        roads[current_section] = []
        continue
    # 提取城市名,丢弃距离数值
    city = line.split()[0]
    # 修正输入拼写错误
    if city == "Breast":
        city = "Brest"
    roads[current_section].append(city)

最终输出结果

运行代码后得到的字典完全匹配预期结构:

roads = {'BREST': ['Rennes'],
         'RENNES': ['Brest', 'Caen', 'Nantes', 'Paris'],
         'CAEN': ['Calais', 'Paris', 'Rennes'],
         'CALAIS': ['Caen', 'Nancy', 'Paris']
         }

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.01 17:06:03