我在SO中看到了这些问题的答案,例如here和here。但是,使用他们建议的方法,我在文件中得到的输出看起来部分移位了。
具体来说,我有一个元组列表,由一个数字和一个字符串组成。使用此解决方案,例如:
for t in sorted_words:
wrds.write(''.join(str(s) for s in t) + ' ')
我在文件中得到的格式如下:
wordone
0.0 wordtwo
0.0 wordthree
0.0 wordfour
0.0
对此有何解释?谢谢!
答案 0 :(得分:3)
你的单词字符串在它们的末尾有换行符。
如果您想要以下列形式输出:
wordone 0.0
wordtwo 0.0
wordthree 0.0
你应该取消新行,然后使用
for word, weight_or_whatever in sorted_words:
wrds.write("{} {}\n".format(word, weight_or_whatever))
(我不确定数字代表什么。)
答案 1 :(得分:2)
正如user2357112指出的那样,你的字符串最后有换行符,因此你可以使用strip()删除前导和尾随空格,包括换行符。
for t in sorted_words:
wrds.write(' '.join(str(s).strip() for s in t) + '\n')