1

我在将列表保存到文件时遇到了一些问题,我尝试过的两种方法都产生了不想要的输出。

我尝试的第一种方法是:

savefile.write(str(full_list))

返回:

[u'Smith', u'Malte Low', u'Day', u'George']

我尝试的另一种方法是:

for fitem in full_list:
    file.write(str(fitem))

返回:

SmithMalte LowDayGeorge

我理想地寻找它返回:

Smith, Malte, Low, Day, George

我不太确定如何使用.join它来完成这项工作,但它似乎是最好的选择,我可能错了。

任何人都知道我应该如何解决这个问题,将不胜感激。

在此先感谢-Hy

4

2 回答 2

2

您可以使用。

 ", ".join(full_list)

然后将结果写入文件。

见片段 -

>>> full_list = [u'Smith', u'Malte Low', u'Day', u'George']
>>> print ", ".join(full_list)
Smith, Malte Low, Day, George

编辑- 刚刚看到你想要一个逗号Malte Low,然后,你可以这样做

>>> from itertools import chain
>>> ", ".join(chain.from_iterable(map(str.split, full_list)))
u'Smith, Malte, Low, Day, George'
于 2013-07-30T15:18:00.147 回答
1

鉴于列表

[u'Smith', u'Malte Low', u'Day', u'George']

你可以试试

savefile.write(','.join(full_list))

但这只会返回

Smith,Malte Low,Day,George

这可能不是您想要的输出,用“,”分隔单词而不是项目

所以你可能想做

但是你必须多次迭代。要在单次迭代中执行操作,可以使用itertools.chain.from_iterable

from itertools import chain
savefile.write(','.join(itertools.chain.from_iterable(e.split()
                       for e in full_list)))
于 2013-07-30T15:26:17.707 回答