2013-10-10 63 views
0

我試圖通過搜索「。」來打印23.45和7.8。在每個字符串中。 這是我的代碼。如何打印在Python中有「。」的字符串

mylist = ["1,23.45,6,7.8","1,25,999"] 

tokens =mylist[0].split(',') 

for number in tokens : 

if re.search('.', number) : 

print number , 

結果:1 23.45 6 7.8

+1

使用'\ .'而不是'.',看看是否可行。 – UFL1138

回答

1

試試這個。正則表達式對我來說根本不看pythonic。

mylist = ["1,23.45,6,7.8","1,25,999"] 
tokens =mylist[0].split(',') 

for number in tokens : 
    if "." in number: 
     print number 

但是我特別喜歡的東西看起來並不怎麼pythonic。但我學會了熱愛循環的lambda。

mylist = ["1,23.45,6,7.8","1,25,999"] 
tokens =mylist[0].split(',') 
result = filter(lambda x: "." in x, tokens) 
print result 
+1

您需要縮進最後一行。 – jwodder

+0

做到了。 ty爲輸入 –

2

一如既往,我建議人們不要使用正則表達式時,他們不需要正則表達式。在這種情況下,請使用in運算符。

if '.' in number: 

取代

if re.search('.', number): 

其中,如果你好奇,本來應該

if re.search('\.', number):