我正在尝试通过搜索“。”来打印 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
我正在尝试通过搜索“。”来打印 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
与往常一样,我建议人们在不需要正则表达式时不要使用正则表达式。在这种情况下,请使用in
运算符。
if '.' in number:
替换
if re.search('.', number):
如果你好奇的话,应该是
if re.search('\.', number):
尝试这个。正则表达式对我来说根本不像 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 而不是循环。
mylist = ["1,23.45,6,7.8","1,25,999"]
tokens =mylist[0].split(',')
result = filter(lambda x: "." in x, tokens)
print result