是否有理由更喜欢使用map()超过列表理解,反之亦然?它们中的任何一个通常比另一个更有效或被认为是更加pythonic?
我应该如何仅从中提取数字
a = ['1 2 3', '4 5 6', 'invalid']
Run Code Online (Sandbox Code Playgroud)
我试过了:
mynewlist = [s for s in a if s.isdigit()]
print mynewlist
Run Code Online (Sandbox Code Playgroud)
和
for strn in a:
values = map(float, strn.split())
print values
Run Code Online (Sandbox Code Playgroud)
两者都失败了,因为数字之间有空格。
注意:我试图实现输出为:
[1, 2, 3, 4, 5, 6]
Run Code Online (Sandbox Code Playgroud)