如何按字数排序文件中的行?



我已经开始为初学者开设python课程。我有一个行:

的文件"我对我的朋友很生气

我告诉我的愤怒我的愤怒结束了

我对我的敌人很生气

我没有告诉它我的愤怒没有增长">

我需要按每行的单词数排序,每行内的单词需要按其中的字母数排序。

结果需要保存到文件

我代码:

with open('input.txt', 'r') as file_in, with open('output.txt', 'w') as file_out:
file_in.write('n'.join(sorted([' '.join([''.join(sorted(w)) 
for w in line.split()]) for line in file_out.read().split('n')], key=len)))

您正在尝试从file_out读取并写入file_in。

def lines(filename):
with open(filename) as fin:
for line in fin:
yield ' '.join(sorted(line.split(), key=len))
with open('output.txt', 'w') as fout:
print(*sorted(lines('input.txt'), key=lambda x:len(x.split())), sep='n', file=fout)

最新更新