我有一个包含一些元组的列表以及如下的普通字符串:
a = ['sore', ('PHENOMENA', 'sore'), 'throat', ('ANATOMY', 'throat'), 'and', 'leg', ('ANATOMY', 'leg')]
我想用空格分隔的文本文件将其写成格式如下:
sore ('PHENOMENA', 'sore') throat ('ANATOMY', 'throat') and leg ('ANATOMY', 'leg')
答案 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)))