删除某些数字python

时间:2016-02-24 17:09:20

标签: python numbers

我理解如何摆脱某些文字,但是当涉及数字时,它会与其中的其他数字发生冲突。

def get_team_odds(soup):
    for i in soup:
        soup_output = (i.get_text())
        bleach_characters = soup_output.lstrip("Value")
        return(bleach_characters.replace("for",""))

这给出了0.57 10 0的输出。

我需要摆脱10和0.但是如果我使用replacestrip。它也从第一个中删除了一些数字。所以如果输出是10.07,它会给我.7,因为它摆脱了所有的10和0。如何根据位置或其他任何东西摆脱某些数字。

2 个答案:

答案 0 :(得分:0)

您需要处理输出字符串的逻辑段,而不是replace所做的字符:

output = ' '.join(x for x in output.split() if x not in ('10', '0'))

这也会对空格进行规范化,所以如果这对你来说不合适,那就需要更复杂的东西了。

答案 1 :(得分:0)

您可以将字符串转换为子字符串列表。例如:

x = '0.57 10 0'

#separate the space delimited string into a list containing substrings
y = x.split(' ')

#you can access an element from your list
print y[0]

#or all of the elements
for i in y:
    print i