content = "first line \nsecond line\nthird line\netc.".splitlines()
i = 0
for line in iter(content):
if len(line) < 5:
content[i] = ""
i += 1
content = '\n'.join(content)
content = "first line \nsecond line\nthird line\netc."
content = content.splitlines()
for i, line in enumerate(content):
if len(line) < 5:
content[i] = ""
separator = '\n'
content = separator.join(content)
content = "first line \nsecond line\nthird line\netc."
content = '\n'.join(
i if len(i) > 5 else ''
for i in content.splitlines()
)
content
#'first line \nsecond line\nthird line'
下面是一个更简洁的列表:
从你的方法来看。。。请注意,内容已经是迭代器,因此不需要
iter(content)
。你知道吗还有什么可以改进的?python没有使用计数器,而是有一个内置函数^{} 。使用它,您的代码可能看起来像:
yatu的回答很好,而且很像Python,但是我们可以走得更远!你知道吗
你知道吗str.join公司需要任何iterable,所以这里使用生成器表达式来获得更多pythonicness!你知道吗
另一个选项是Python Regex:
结果:
相关问题 更多 >
编程相关推荐