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

Python如何读取integral.txt结构化数据并分组赋值给不同变量

代码修改方案

你的原有代码没有为每个数据块打印分组表头,也没有做分组存储,修改后的代码如下:

nb = 2 # 该数值可根据实际文件的数据块数量调整
# 初始化分组存储用的列表,zetas[0]对应zeta1,cijk[0]对应cijk1,以此类推
zetas = []
cijks = []

with open("integral.txt","r") as input3:
     for b in range(nb):
         # 读取当前块的首行和基函数数量
         intr = input3.readline()
         nprimitive = int(input3.readline())
         nbasis, label, natom, _ = intr.split()
         # 初始化当前块的存储列表
         current_zeta = []
         current_cijk = []
         # 打印当前块的表头
         print(f"    zeta{b+1}           cijk{b+1}")
         for prim in range(nprimitive):
             intr2 = input3.readline()
             zeta , cijk = intr2.split()
             current_zeta.append(float(zeta))
             current_cijk.append(float(cijk))
             # 打印数值行,和表头对齐
             print(f"    {zeta}    {cijk}")
         # 将当前块数据存入总列表
         zetas.append(current_zeta)
         cijks.append(current_cijk)

改动说明

  • 修正了原有代码中错误的注释符号,将!替换为Python标准的#
  • 新增了zetas和cijks两个列表做分组存储,第1个数据块的所有zeta值存放在zetas[0],第2个存放在zetas[1],后续调用时直接按索引取值即可,符合分组赋值需求
  • 每次处理一个新数据块时,先打印对应序号的分组表头,输出格式和要求完全匹配
  • 所有数值行打印时统一添加缩进,和表头对齐

内容的提问来源于stack exchange,提问作者Abd-Elazeem Mohamed

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 00:36:04