2024-04-26 09:45:43 发布
网友
如何对文件进行排序,使排序的基础仅为第一个单词?第一个词的长度不是固定的。在
我正在尝试:
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()
要按每行中的第一个单词进行排序,您需要拆分行并将第一个单词用作排序键:
lines.sort(key=lambda a_line: a_line.split()[0])
您能否用以下内容替换lines.sort():
lines.sort()
lines.sort(key=lambda x: x.split()[0] if len(x.split()) >0 else None)
另外,您需要在key中为任何可能的空白新行设置一个条件;否则您将面临错误(IndexError: list index out of range)。在
key
IndexError: list index out of range
要按每行中的第一个单词进行排序,您需要拆分行并将第一个单词用作排序键:
您能否用以下内容替换
lines.sort()
:另外,您需要在
key
中为任何可能的空白新行设置一个条件;否则您将面临错误(IndexError: list index out of range
)。在相关问题 更多 >
编程相关推荐