如何在python中打印具有“。”的字符串

时间:2013-10-10 20:17:34

标签: python-2.7

我试图通过搜索“。”来打印23.45和7.8。在每个字符串中。 这是我的代码。

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

2 个答案:

答案 0 :(得分:2)

与往常一样,我建议人们在不需要正则表达式时不要使用正则表达式。在这种情况下,请使用in运算符。

if '.' in number:

替换

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

如果你很好奇,应该是

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

答案 1 :(得分: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。但我学会了喜欢lambdas over loops。

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