Python—将元组列表写入文件的结果是移位的
我已经在SO,like,and中看到了这些问题的答案。然而,使用他们建议的方法,我在文件中得到的输出看起来发生了部分偏移 具体来说,我有一个元组列表,由一个数字和一个字符串组成。使用此解决方案,例如:Python—将元组列表写入文件的结果是移位的,python,list,tuples,Python,List,Tuples,我已经在SO,like,and中看到了这些问题的答案。然而,使用他们建议的方法,我在文件中得到的输出看起来发生了部分偏移 具体来说,我有一个元组列表,由一个数字和一个字符串组成。使用此解决方案,例如: 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 对此有何解释?
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
对此有何解释?谢谢大家! 您的字串末尾有换行符 如果希望以以下形式输出:
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))
(我不确定数字代表什么。)您的字串末尾有换行符 如果希望以以下形式输出:
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))
(我不确定数字代表什么。)正如user2357112所指出的,字符串末尾有换行符,因此可以使用它删除前导和尾随空格,包括换行符
for t in sorted_words:
wrds.write(' '.join(str(s).strip() for s in t) + '\n')
正如user2357112所指出的,字符串的末尾有换行符,因此可以使用它删除前导和尾随空格,包括换行符
for t in sorted_words:
wrds.write(' '.join(str(s).strip() for s in t) + '\n')
你能扩展源代码,至少显示元组
已排序的单词吗?谢谢@Paulo的编辑(我忘了如何在这里设置代码样式…)。正如用户2357112所指出的,您要求排序的单词是正确的,这就是我的错误所在。无论如何,非常感谢!你能扩展源代码,至少显示元组已排序的单词吗?谢谢@Paulo的编辑(我忘了如何在这里设置代码样式…)。正如用户2357112所指出的,您要求排序的单词是正确的,这就是我的错误所在。无论如何,非常感谢!非常感谢@user2357112!你完全正确。。。很抱歉犯了这个愚蠢的错误(我使用的是编码字符串,它们太长了,我没有注意到\n…借口;-)。非常感谢@user2357112!你完全正确。。。很抱歉犯了这个愚蠢的错误(我使用的是编码字符串,它们太长了,我没有注意到\n…借口;-))。