我有一个由149个文本字符串组成的列表。从每个字符串,我想提取第2行和第7行文本。我希望将每行的结果放在一个单独的列表中。
我已尝试过(仅限一行):
text = []
for string in list:
x = string.splitlines()[2]
text.append(x)
但是我得到消息" IndexError:list index超出范围"。我想也许我需要这样做:
text = []
for string in list:
x = [string].splitlines()[2]
text.append(x)
但是这给了我一条消息" AttributeError:' list'对象没有属性' splitlines'"
我正在使用Python 3.6。有任何想法吗?谢谢你的帮助!
答案 0 :(得分:2)
string.splitlines
是分割每个字符串的行的正确函数,如果它为索引2提供IndexError
(注意:这是第3行)那么这意味着少于三条线。这可能是您正在寻找的代码:
line2_results = []
line7_results = []
for str in list:
lines = str.splitlines()
if len(lines) >= 2:
line2_results.append(lines[1])
if len(lines) >= 7:
line7_results.append(lines[6])