如何在Python中将包含一些元组的列表写入文本文件

时间:2016-01-19 05:49:52

标签: python python-3.x

我有一个包含一些元组的列表以及如下的普通字符串:

a = ['sore', ('PHENOMENA', 'sore'), 'throat', ('ANATOMY', 'throat'), 'and',   'leg', ('ANATOMY', 'leg')]

我想用空格分隔的文本文件将其写成格式如下:

sore ('PHENOMENA', 'sore') throat ('ANATOMY', 'throat') and leg ('ANATOMY', 'leg')

3 个答案:

答案 0 :(得分:5)

这样的东西?

>>> ' '.join(map(str, a))
"sore ('PHENOMENA', 'sore') throat ('ANATOMY', 'throat') and leg ('ANATOMY', 'leg')"

map(str, a)a中的所有元素转换为字符串对象,然后' '.join()按空格连接它们并返回一个字符串对象。

您还可以使用list comprehension代替map()

>>> ' '.join(str(i) for i in a)
"sore ('PHENOMENA', 'sore') throat ('ANATOMY', 'throat') and leg ('ANATOMY', 'leg')"

答案 1 :(得分:1)

试试这个

a = ['sore', ('PHENOMENA', 'sore'), 'throat', ('ANATOMY', 'throat'), 'and',   'leg', ('ANATOMY', 'leg')]
s = ' '.join(str(part) for part in a)    
with open('outfile.txt', 'w') as outfile:
    outfile.write(s)

在运行此代码的目录中,您将获得一个名为“outfile.txt”的文件,其中包含以下内容:

sore ('PHENOMENA', 'sore') throat ('ANATOMY', 'throat') and leg ('ANATOMY', 'leg')

答案 2 :(得分:0)

您可以通过'.join()通过空格加入列表的每个元素。需要注意的是,您需要将所有内容转换为字符串,包括使用map可以执行的元组。

一种可能的编码方式如下:

with open('file.txt', 'w') as f:
    f.write(' '.join(map(str, a)))