我应该如何仅从中提取数字
a = ['1 2 3', '4 5 6', 'invalid']
我努力了:
mynewlist = [s for s in a if s.isdigit()]
print mynewlist
and
for strn in a:
values = map(float, strn.split())
print values
两者都失败了,因为数字之间有空格。
注意:我试图实现输出:
[1, 2, 3, 4, 5, 6]
我认为你需要处理中的每一项list
作为空格上的分割字符串。
a = ['1 2 3', '4 5 6', 'invalid']
numbers = []
for item in a:
for subitem in item.split():
if(subitem.isdigit()):
numbers.append(subitem)
print(numbers)
['1', '2', '3', '4', '5', '6']
或者用一种简洁的理解:
[item for subitem in a for item in subitem.split() if item.isdigit()]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)