使用Python按第一个单词对文件/行进行排序

2024-04-26 09:45:43 发布

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

如何对文件进行排序,使排序的基础仅为第一个单词?第一个词的长度不是固定的。在

我正在尝试:

f = open("temp", "r")
lines = f.readlines()
print lines
lines.sort()
f2 = open('out.txt', 'w')
f2.write(''.join(lines)) # Write a sequence of strings to a file
f2.close()
f.close()

Tags: 文件txtclose排序openoutsort单词
2条回答

要按每行中的第一个单词进行排序,您需要拆分行并将第一个单词用作排序键:

lines.sort(key=lambda a_line: a_line.split()[0])

您能否用以下内容替换lines.sort()

lines.sort(key=lambda x: x.split()[0] if len(x.split()) >0 else None)

另外,您需要在key中为任何可能的空白新行设置一个条件;否则您将面临错误(IndexError: list index out of range)。在

相关问题 更多 >