将列表写入具有某些自定义格式的文件

2024-05-18 14:31:01 发布

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

我在将列表保存到文件时遇到了一些问题,我尝试的两种方法都产生了不希望的输出。你知道吗

我尝试的第一种方法是:

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公司


Tags: 文件方法列表forfulllistwritelow
1条回答
网友
1楼 · 发布于 2024-05-18 14:31:01

给出了名单

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

你可以试试

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

但那只会回来

Smith,Malte Low,Day,George

它可能不是你想要的输出,用','分隔单词而不是项目

所以你可能想

  • join带空格
  • 然后split用空格填充结果字符串
  • 然后join用逗号返回

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

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

from itertools import chain
savefile.write(','.join(itertools.chain.from_iterable(e.split()
                       for e in full_list)))
网友
2楼 · 发布于 2024-05-18 14:31:01

你可以用。你知道吗

 ", ".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'

相关问题 更多 >

    热门问题