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

使用Python将文本文件中的行按每3行分组

Python实现文本文件按每3行分组

我有一个包含多行内容的文本文件,内容示例如下:

aDB8786793440
bDB8978963432
cDB9898908345
dDB8908908454
eDB9083459089
fDB9082390843
gDB9083490345

需要用Python将这些行按每3行分为一组,只要能访问每个分组即可,期望输出形式如下:

# 形式一
group_1 = ["aDB8786793440", "bDB8978963432", "cDB9898908345"]
group_2 = ["dDB8908908454", "eDB9083459089", "fDB9082390843"]

# 形式二
groups = [["aDB8786793440", "bDB8978963432", "cDB9898908345"], ["dDB8908908454", "eDB9083459089", "fDB9082390843"]]

解决方案

方法一:生成嵌套列表(推荐)

直接读取文件内容,按每3行切片分组,得到嵌套列表,方便通过索引访问:

# 读取文件,过滤空行并去除换行符
with open('your_file.txt', 'r') as f:
    lines = [line.strip() for line in f if line.strip()]

# 按每3行分组
groups = [lines[i:i+3] for i in range(0, len(lines), 3)]

# 查看结果
print(groups)

运行后groups即为嵌套列表形式,最后一组若不足3行也会保留(比如示例中的第7行单独成组)。

方法二:生成独立分组变量

若需要创建group_1、group_2这类独立变量,可通过循环动态生成:

with open('your_file.txt', 'r') as f:
    lines = [line.strip() for line in f if line.strip()]

# 动态创建分组变量
for idx in range(0, len(lines), 3):
    group_num = idx // 3 + 1
    locals()[f'group_{group_num}'] = lines[idx:idx+3]

# 验证变量
print(group_1)
print(group_2)

此方法会在当前命名空间中生成对应变量,直接通过变量名即可访问分组内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 08:57:34