如何从列表中提取浮动

时间:2017-09-01 21:49:32

标签: arrays string python-2.7 list

我想从A,B,C列表中获取带浮点数的数组。

page = requests.get("http://www.arso.gov.si/potresi/obvestila%20o%20potresih/aip/")
soup = BeautifulSoup(page.content, 'html.parser')

all_tables=soup.find_all('table')

right_table=soup.find('table',class_='online')

A=[]
B=[]
C=[]

for row in right_table.findAll("tr"):
    cells = row.findAll('td')
    if len(cells)==6:
        A.append(cells[1].find(text=True))
        B.append(cells[2].find(text=True))
        C.append(cells[3].find(text=True))

现在我有这样的变量:

A = [u'45.50' ,u'46.00' ,...] 我想从列表中浮动: A = [45.50,46.00,...]

2 个答案:

答案 0 :(得分:0)

只需将元素的文本转换为 float 类型:

...
    if len(cells) == 6:
        A.append(float(cells[1].text))
        B.append(float(cells[2].text))
        C.append(float(cells[3].text))

print(A)
print(B)
print(C)

输出:

[45.5, 46.0, 46.07, 45.89, 45.83, 46.1, 46.53, 45.88, 45.84, 45.9, 46.09, 46.39, 45.3, 45.34, 46.7, 45.25, 46.39, 45.5, 46.39]
[14.41, 14.76, 14.22, 14.59, 15.12, 14.42, 14.57, 15.19, 15.18, 14.57, 14.19, 13.39, 14.62, 14.59, 15.23, 14.58, 15.03, 14.4, 15.03]
[1.2, 1.2, 1.0, 0.8, 1.2, 1.0, 1.1, 1.3, 0.8, 0.9, 0.5, 1.0, 1.3, 2.3, 1.4, 1.9, 0.7, 0.8, 0.4]

答案 1 :(得分:0)

您可以使用python2.7 map函数将每个字符串列表转换为floats列表:

A = map(float, A)
B = map(float, B)
C = map(float, C)

print A # [45.5, 46.0, 46.07, 45.89, 45.83, 46.1, 46.53, 45.88, 45.84, 45.9, 46.09, 46.39, 45.3, 45.34, 46.7, 45.25, 46.39, 45.5, 46.39]
print B # [14.41, 14.76, 14.22, 14.59, 15.12, 14.42, 14.57, 15.19, 15.18, 14.57, 14.19, 13.39, 14.62, 14.59, 15.23, 14.58, 15.03, 14.4, 15.03]
print C # [1.2, 1.2, 1.0, 0.8, 1.2, 1.0, 1.1, 1.3, 0.8, 0.9, 0.5, 1.0, 1.3, 2.3, 1.4, 1.9, 0.7, 0.8, 0.4]