1
lines = [l.split() for l in inpf.readlines() if l.strip()]

在上面的语句中,做了l.strip()什么?

lines = [l.split() for l in inpf.readlines()]. 

难道上面的说法还不够吗?

4

1 回答 1

7

strip()删除任何前导/尾随空格。所以它会跳过任何只包含空格或为空的行。

在旁注中,没有必要使用.readlines()- 您可以迭代这些行,从而避免创建第二个列表,该列表在列表理解完成后立即被丢弃:

lines = [l.split() for l in inpf if l.strip()]
于 2012-06-19T15:37:11.600 回答