Python中如何跳过字符串的前两行与最后一行并输出剩余内容
解决方法:跳过前两行和最后一行输出中间内容
你的代码已经实现了跳过前两行,但没处理最后一行的过滤,所以才会把lastline也打印出来。这里有两种简洁的方式解决这个问题:
方法一:利用列表切片(最简洁)
先把字符串分割成每行的列表,然后直接用切片取从第3行到倒数第二行的内容:
str1 = """first line second line abc def xyz 123 lastline""" # 分割为每行的列表 lines = str1.split("\n") # 切片:[2:-1] 表示从索引2(第3行)开始,到索引-1(最后一行)之前结束 for line in lines[2:-1]: print(line)
方法二:保留enumerate逻辑,增加最后一行判断
如果你想继续用原来的遍历方式,只需要加上判断当前行是否是最后一行的条件即可:
str1 = """first line second line abc def xyz 123 lastline""" lines = str1.split("\n") total_lines = len(lines) for index, line in enumerate(lines): # 跳过前两行,同时跳过最后一行 if index <= 1 or index == total_lines - 1: continue print(line)
两种方法的输出结果都是你想要的:abc def xyz 123。
内容的提问来源于stack exchange,提问作者Sagar
相关产品推荐
相关产品推荐

