在Python中将列表项目写入文本文件

2024-03-28 17:48:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个可能是微不足道的问题困扰了我一段时间,但我仍然没有找到答案。我的许多脚本读取一些文件,比较它们的值,并将它们保存在一个列表或字典中,然后从中编写某种类型的输出文件。我经常做的是,循环遍历列表并将单个项写入输出,用制表符、逗号或换行符分隔。我一直想知道的是,我如何才能防止在打印完列表上的最后一项后出现分隔符。

下面是一个例子:

dict1 = {a: [1,2,3], b: [4,5,6], c: [7,8,9]}
for key in dict1:
    outfile.write(key +": ")
    for item in dict1[key]:
        outfile.write(str(item) +", ")
    outfile.write("\n")

然后输出如下:

a: 1, 2, 3, 
b: 4, 5, 6, 
c: 7, 8, 9, 

我该如何避免最后一个“,”?


Tags: 文件key答案in脚本类型列表for
2条回答

使用str.join方法和列表压缩:

for key, value in dict1.iteritems():
    outfile.write(key +": ")
    outfile.write(', '.join([str(item) for item in value]))
    outfile.write("\n")

使用标准库CSV模块怎么样?

它将处理这个问题,加上任何必要的转义符(如果其中一个值包含逗号呢?)

(然后,当然,作为一般情况,使用string.join(list)正确地连接而不使用尾随分隔符)

相关问题 更多 >