2016-11-26 56 views
0

我有一個包含以下,這是緯度和經度點形成的邊框列表:轉換unicode字符串的列表,以漂浮

[u'51.2867602', u'51.6918741', u'-0.510375', u'0.3340155']

我目前正在試圖每個值內轉換這個列表爲一個浮點數,以便將其傳遞給另一個函數。我當前的代碼設置如下:

for coordinate in coordinates: 
    coordinate = float(coordinate) 

然而,這似乎並沒有工作,因爲打印列表中再次提供完全相同的輸出作爲初始列表。但是,運行該代碼時不會出現錯誤。

對此的任何幫助將不勝感激;我對Unicode的使用經驗有限!我正在使用Python 2.7.10。

回答

1

coordinate,在這種情況下,是一個局部變量

for coordinate in coordinates: 
    coordinate = float(coordinate) 

因此,分配float(coordinate)局部變量將有沒有影響真正的名單。

相反,引用列表本身,就像這樣:

for i in range(len(coordinates)): 
    coordinates[i] = float(coordinates[i]) 
2

你忘了做作業:

for i, coordinate in enumerate(coordinates): 
    coordinates[i] = float(coordinate) 
0

另一種解決方案,使用map

coordinates = [u'51.2867602', u'51.6918741', u'-0.510375', u'0.3340155'] 
coordinates = map(float, coordinates) 
相關問題