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

将文本文件中的数值数据转换为Python字典

实现方法

没问题,我来给你拆解一下怎么把这段文本转换成你需要的Python字典,步骤很清晰:

步骤1:准备文本数据

首先把你的文本内容读取为字符串(如果是从文件里读的话,可以用open()函数读取,这里先假设我们已经拿到了文本内容):

# 从文件读取的话可以这样:
# with open("your_file.txt", "r") as f:
#     text = f.read().strip()

# 直接使用给定的文本内容
text = "20 23 0 16 1 2 1 6 1 7 1 8 2 11 2 16 2 17 3 14 3 16 3 17 4 7 4 13 4 17"

步骤2:转换为整数列表

把文本按空格分割,再转换成整数类型的列表,这样方便后续处理数字键值:

nums = list(map(int, text.split()))

步骤3:构建目标字典

遍历整数列表,每两个元素为一组(键和对应的值),把相同键的值收集到列表中:

result_dict = {}
# 以步长2遍历,每次取一对键值
for i in range(0, len(nums), 2):
    key = nums[i]
    value = nums[i+1]
    # 如果键不在字典里,先初始化一个空列表
    if key not in result_dict:
        result_dict[key] = []
    # 将值追加到对应键的列表中
    result_dict[key].append(value)

验证结果

运行完上面的代码后,result_dict就是你要的格式:

print(result_dict)
# 输出:{20: [23], 0: [16], 1: [2, 6, 7, 8], 2: [11, 16, 17], 3: [14, 16, 17], 4: [7, 13, 17]}

补充说明

  • 如果你的文本文件里有多余的换行或空格,strip()和split()会自动处理,不用担心格式问题。
  • 这个方法时间复杂度是O(n),n是文本里的数字个数,效率很高,适合处理较大的文本内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 04:14:27