繁体   English   中英

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

[英]How to write a list containing some tuples to a text file in Python

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

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

我想以空格分隔的文本文件格式编写它:

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

像这样吗

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

map(str, a)将所有的元素在a字符串对象,那么' '.join()通过空间加入他们的行列,并返回一个字符串对象。

您也可以使用列表推导代替map()

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

尝试这个

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')

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

一种可能的编码方式很简单:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM