Ich möchte eine Liste mit Stings:
Code: Alles auswählen
a =['17.990', '55.140', '3.650', '5.000']
(im P-Tutorial stehts nur anders herum; round oder int hilft mir nicht, und ein float soll es nicht werden! )
Hoffe, Ihr könnt mir helfen!
Thanx!
Code: Alles auswählen
a =['17.990', '55.140', '3.650', '5.000']
Mir fällt da nur noch *decimal.Decimal* als möglichen Typ ein.meneliel hat geschrieben:was soll es denn werden, wenn kein float?
Mich würde es ja nicht wundern, wenn hier noch ein paar mögliche Datentypen auftauchen.EyDu hat geschrieben:Naja, es gäbe da ja noch "complex"
Ziel muss es ja auch sein, alle verfügbaren zahlenartigen Datentypen der Vollständigkeit halber aufzuführen. Oder zumindest nahe an die Vollständigkeit zu kommengerold hat geschrieben:Mich würde es ja nicht wundern, wenn hier noch ein paar mögliche Datentypen auftauchen.
Code: Alles auswählen
>>> class KeinFloat(float):
... pass
...
>>> a =['17.990', '55.140', '3.650', '5.000']
>>> for index, item in enumerate(a):
... a[index] = KeinFloat(item)
...
>>> a
[17.989999999999998, 55.140000000000001, 3.6499999999999999, 5.0]
>>> type(a[1])
<class '__main__.KeinFloat'>
>>>
Code: Alles auswählen
>>> x = 3.2
>>> print x
3.2
>>> print "%.3f" % x
3.200
>>> print repr(x)
3.2000000000000002
>>>
Code: Alles auswählen
>>> for item in a:
... print item
... print "%.1f" % item
...
17.99
18.0
55.14
55.1
3.65
3.6
5.0
5.0
>>>
Code: Alles auswählen
b = map(float, a)
Code: Alles auswählen
In [301]: map(gmpy.mpq, ['17.990', '55.140', '3.650', '5.000'])
Out[301]: [mpq(1799,100), mpq(2757,50), mpq(73,20), mpq(5)]
Code: Alles auswählen
'[[-0.068, 2.650, 53.140, 12.990], [-0.392, -4.350, 52.140, 11.990], [-0.748, 0.650, 52.140, 11.990]]'