首页 > 解决方案 > 以某种格式将元组列表输出到新文件

问题描述

假设我有一个元组列表my_list=[(who,2), (what,5), (where, 1)]

我想以这种格式写入一个新文件(new_file.txt):

who,2
what,5
where, 1

一个在另一个之上,没有括号,只有内部逗号。

这不起作用:

    with open('new_file.txt', 'w') as fd:
        a = '\n'.join(str(x) for x in results)
        fd.write('\n'.join(a))
        fd.close()

将感谢您的帮助!

标签: python-3.xpython-requests

解决方案


results = [('who', 2), ('what', 5), ('where', 1)]

def line(u):
    return ','.join(map(str, u))

with open('new_file.txt', 'w') as fd:
    fd.write('\n'.join([line(u) for u in results]))

注意:您不必明确with关闭文件,因为它会为您关闭。

如果results列表很长,您可能不想一口气构建文件内容,而是逐行编写:

with open('new_file.txt', 'w') as fd:
    for u in results:
        fd.write(line(u) + '\n')

推荐阅读