string array zu float array konvertieren :?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
yashi
User
Beiträge: 12
Registriert: Donnerstag 18. Februar 2010, 20:23

Hi,

ich versuche gerade einen "gps track bereiniger" zuprogrammieren...Ziel ist die Beseitigung überflüssiger Punkte

Das script importiert eine gps file die dann bearbeitet werden soll.

ich bin soweit, dass ich alle punkte in arrays habe. jeweils ein array lon[] und eins lat[] in denen jeweils die punkte drin sind allerdings noch als ?string?

lon[1]=10.8380925575971485
lat[1]=62.039642220092

wie lässt sich so ein array in ein float array konvertieren? sodass ich punkte mit einander verrechnen kann. atm werden die koordinaten als string hintereinander addiert wenn ich zwei summieren möchte

ich hoffe ihr könnt mir helfen


gruß
.robert
User
Beiträge: 274
Registriert: Mittwoch 25. April 2007, 17:59

Hi

Code: Alles auswählen

In [1]: f = 10.83809255

In [2]: type(f)
Out[2]: <type 'float'>

In [3]: f = str(f)

In [4]: f
Out[4]: '10.83809255'

In [5]: type(f)
Out[5]: <type 'str'>

In [6]: f = float(f)

In [7]: f
Out[7]: 10.838092550000001

In [8]: type(f)
Out[8]: <type 'float'>

heiliga horsd

Wenn du schon eine Liste mit den Werten hast, aber die Werte als String drin stehen, kannst du sie so konvertieren:

Code: Alles auswählen

Liste[index] = float(Liste[index])
Wenn du das für jeden Wert machen willst musst du halt einmal drüber iterieren. Vielleicht gibt's da auch ein Modul dazu, da können dir dann die erfahreneren weiterhelfen.

Lg HH
yashi
User
Beiträge: 12
Registriert: Donnerstag 18. Februar 2010, 20:23

perfekt, danke funktioniert einwandfrei :)
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Code: Alles auswählen

>>> a = ["3.2","9.3","89.2"]
>>> map(float,a)
[3.2000000000000002, 9.3000000000000007, 89.200000000000003]
Benutzeravatar
gkuhl
User
Beiträge: 600
Registriert: Dienstag 25. November 2008, 18:03
Wohnort: Hong Kong

Code: Alles auswählen

In [51]: a = ['3.2','9.3','89.2']

In [52]: [float(c) for c in a]
Out[52]: [3.2000000000000002, 9.3000000000000007, 89.200000000000003]
Antworten