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

Python不导入模块如何将嵌套列表按指定格式写入TXT文件

错误原因
  • 索引写法错误:代码中的[i][j]是将当前子列表i再次包裹为新列表,该新列表长度始终为1,j从1开始取值必然超出索引范围
  • 循环逻辑错误:while循环内没有对j做自增操作,即使索引写法正确也会进入死循环
  • 缩进错误:for循环行的缩进超过了open行,会直接触发语法错误
无依赖解决方法

简洁实现(推荐)

用字符串的join方法拼接剩余元素,配合with上下文管理器自动管理文件句柄,无需手动关闭文件:

alist = [['Hi', 500], ['Bye', 500.0, 100, 900, 600], ['Great', 456, 700.0, 600], ["Yay", 200, 350.0], ["Ok", 200, 300, 400.0]]

with open("filename.txt", "w") as txtfile:
    for sub_list in alist:
        line = f"{sub_list[0]} {','.join(str(item) for item in sub_list[1:])}\n"
        txtfile.write(line)

原有代码修改版

对齐你原本的写法逻辑修改后可正常运行:

txtfile = open("filename.txt", "w")
for i in alist:
    txtfile.write(i[0] + " ")
    j = 1
    while j < len(i):
        # 修正索引写法,非末尾元素加逗号,末尾元素不加
        content = str(i[j]) if j == len(i)-1 else str(i[j]) + ","
        txtfile.write(content)
        j += 1
    txtfile.write("\n")
txtfile.close()

注:你给出的预期输出中Great行的246为笔误,原列表对应值为456,代码输出与原列表数据一致,如需调整直接修改原列表对应值即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 22:09:00