gpt4 book ai didi

python - 将list的元素写入文件

转载 作者:太空宇宙 更新时间:2023-11-03 13:59:51 25 4
gpt4 key购买 nike

Bigram 是一个列表,看起来像-

[('a', 'b'), ('b', 'b'), ('b', 'b'), ('b', 'c'), ('c', 'c'), ('c', 'c'), ('c', 'd'), ('d', 'd'), ('d', 'e')]

现在,如果使用此代码将列表作为文件中的单独行,我将尝试编写每个元素-

 bigram = list(nltk.bigrams(s.split()))
outfile1.write("%s" % ''.join(ele) for ele in bigram)

但是我收到了这个错误:

TypeError: write() argument must be str, not generator

我想要文件中的结果-

('a', 'b') 
('b', 'b')
('b', 'b')
('b', 'c')
('c', 'c')
......

最佳答案

您将生成器理解传递给 write,这需要字符串。

如果我理解正确的话,您想每行写一个元组表示。

您可以通过以下方式实现:

outfile1.write("".join('{}\n'.format(ele) for ele in bigram))

outfile1.writelines('{}\n'.format(ele) for ele in bigram)

第二个版本将生成器理解传递给 writelines,这避免了在写入之前在内存中创建大字符串(看起来更像是您的尝试)

它生成一个包含以下内容的文件:

('a', 'b')
('b', 'b')
('b', 'b')
('b', 'c')
('c', 'c')
('c', 'c')
('c', 'd')
('d', 'd')
('d', 'e')

关于python - 将list的元素写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50645349/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com