foo = open('words.txt').readlines()
[k.rstrip() for k in foo if k.rstrip() != '']
我想重用修改后的密钥,就像那样
[k.rstrip() for k in foo if k != '']
这可能吗?
# input (words.txt)
# this will be just some lines with one or more words separated by space.
# there will be no *special* case or anything
foo bar
baz
bar baz waz
# expected output
>>> ['foo bar', 'baz', 'bar baz waz']
最佳答案 像这样做:
[x for x in (k.replace('\n', '').strip() for k in foo) if x]
看起来你想过滤掉空行,你可以这样做:
#Assuming `c` is the file object
>>> [line.rstrip() for line in c if not line.isspace()]
['foo bar', 'baz', 'bar baz waz']
#Demo
>>> foo = ['foo bar\n', 'baz\n', 'bar baz waz\n', ' \n']
>>> [line.strip() for line in foo if not line.isspace()]
['foo bar', 'baz', 'bar baz waz']