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

如何从文本文件自动生成字典并通过输入键获取对应值?

解决方案

你之前的问题核心是直接覆盖字典值,而非将新值追加到集合/列表中。要实现一个键对应多个关联值,字典的值需用列表(或集合)存储,以此保留多个关联项。

代码实现

# 初始化空字典,值为列表类型
graph = {}

# 读取目标文本文件
with open("your_file.txt", "r") as f:
    for line in f:
        # 去除换行符并分割成两个关联节点
        node1, node2 = line.strip().split()
        # 处理第一个节点:键不存在则创建空列表,再追加关联节点
        if node1 not in graph:
            graph[node1] = []
        graph[node1].append(node2)
        # 处理第二个节点:双向关联需同步添加(比如0和1互相关联)
        if node2 not in graph:
            graph[node2] = []
        graph[node2].append(node1)

# 可选:转换成你示例中的字符串格式
formatted_dict = "a={\n"
for key, values in graph.items():
    formatted_dict += f'"{key}": "{",".join(values)}"\n'
formatted_dict += "}"

print(formatted_dict)
# 直接查询键的关联值
print(graph["0"])  # 输出: ['1', '3']

关键说明

  • 用列表存储每个键的关联值,每次读取行时追加而非覆盖,确保多个值被保留。
  • 示例中关联是双向的(如0 1对应0的关联值含1,1的关联值含0),因此需同时处理两个节点;若只需单向关联,删除处理node2的代码块即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 16:51:37