How to filter out float strings from string list in Python

2 Answers

0 votes
lst = ['java', '3.14', 'python', '1.2', 'php', '98.3'] 

result = [] 
for e in lst: 
    try: 
        float(e) 
    except ValueError: 
        result.append(e) 
  
print(result) 
     


        
'''
run:
 
['java', 'python', 'php']
        
'''

 



answered May 2, 2020 by avibootz
0 votes
import re 

lst = ['java', '3.14', 'python', '1.2', 'php', '98.3'] 

r = re.compile(r'\d+(?:\.\d*)') 
result = [e for e in lst if not r.match(e)] 
  
print(result) 
     


        
'''
run:
 
['java', 'python', 'php']
        
'''

 



answered May 2, 2020 by avibootz

Related questions

1 answer 144 views
2 answers 250 views
2 answers 235 views
1 answer 141 views
...