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

Python循环中基于TXT记录创建多个列表的实现疑问

批量拆分TXT记录为命名列表(Python实现)

问题背景

我有若干需要拆分的TXT文件,以项目中的data.txt为例,每条记录通过#分隔字段,文件包含4000+条记录。需要将每条记录拆分为独立命名的列表(如List1、List2),但Python不支持类似C/Bash的动态变量命名语法,寻求正确实现方式。

示例数据(data.txt)

2023-07-01 00:05:12#11111111111#0101107200#0055013565#3#724020
2023-07-01 00:23:15#22222222222#0101108700#0099000002#0#724020
2023-07-01 00:26:57#33333333333#0101062000#0099000029#0#724020
2023-07-01 01:33:31#44444444444#0101107100#0055013566#3#724020
2023-07-01 01:37:15#55555555555#0101107100#0055013566#3#724020

期望输出

List1 = ['2023-07-01 00:05:12', '11111111111', '0101107200', '0055013565', '3', '724020']
List2 = ['2023-07-01 00:23:15', '22222222222', '0101108700', '0099000002', '0', '724020']
# 以此类推生成对应4000+条记录的命名列表

已尝试的代码

单条记录拆分(可行)

List = open("data.txt").readlines() 
print(List[0])
lista1 = List[0].split("#")
print(lista1)

错误的循环实现(Python不支持此语法)

# 错误示例:Python不允许动态生成类似lista{i}的变量名
for i in range(4000):
    lista{i} = List{[i]}.split("#")
    print(lista{i})

正确实现方案

方案1:使用字典存储(推荐)

Python中不建议动态创建全局变量,用字典存储所有拆分后的列表更规范,便于后续操作:

# 打开文件并读取所有行,同时过滤空行
with open("data.txt", "r") as f:
    records = [line.strip() for line in f if line.strip()]

# 用字典存储拆分后的列表
record_dict = {}
for idx, line in enumerate(records, start=1):
    # 按#拆分字段,自动去除每行末尾的换行符
    split_list = line.split("#")
    record_dict[f"List{idx}"] = split_list
    # 可选:打印输出期望格式
    print(f"List{idx} = {split_list}")

# 后续可以通过record_dict["List1"]、record_dict["List2"]访问对应列表

方案2:动态生成全局变量(不推荐,仅满足命名需求)

如果必须生成List1、List2这类全局变量,可以通过globals()函数实现:

with open("data.txt", "r") as f:
    records = [line.strip() for line in f if line.strip()]

for idx, line in enumerate(records, start=1):
    split_list = line.split("#")
    # 动态注册全局变量
    globals()[f"List{idx}"] = split_list
    print(f"List{idx} = {split_list}")

# 之后可以直接使用List1、List2等变量
print(List1)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 02:33:20