Ich bin ganz neu in Python, und haben eine Liste wie folgt aus:Typ-Cast `float` zu` str` ohne Präzision zu verlieren
[{u'value': 0, u'time': u'12:39:00'},
{u'value': 0.019179999828338623, u'time': u'12:40:00'},
{u'value': 0, u'time': u'12:41:00'},
{u'value': 0, u'time': u'12:42:00'},
{u'value': 0, u'time': u'12:43:00'},
{u'value': 0, u'time': u'12:44:00'},
{u'value': 0, u'time': u'12:45:00'},
{u'value': 0, u'time': u'12:46:00'},
{u'value': 0.01713000051677227, u'time': u'12:47:00'},
{u'value': 0.023979999125003815, u'time': u'12:48:00'}]
gebe ich diese Liste auf eine andere Funktion, die angeblich Formatieren Sie es auf eine bestimmte Weise (entfernen Sie alle Elemente, deren Wert 0 ist, und fügen Sie dem Zeitelement ein Datum hinzu). Als Beispiel versuche ich die folgende „gereinigt Liste“ zu erreichen:
[{'count': '0.019179999828338623', 'datetime': '2016-12-11 12:40:00'}, ...]
Das Problem, das ich bin vor, dass, wenn ich über alle Elemente in der Liste iterieren, Python scheint den Wert auf 15 Zeichen werden abgeschnitten , so schaltet sich die oben erwiesen:
[{'count': '0.0191799998283', 'datetime': '2016-12-11 12:40:00'}, ...]
Mein Code zu „clean“ wird die Liste wie folgt
for my_data in my_list:
if my_data['value']:
my_record = {"count": str(my_data['value']), "datetime": '%s %s' % (the_date, my_data['time'])}
final_result.append(my_record)
I Druck my_list aus dieser Funktion versucht haben - die Daten korrekt ist (ohne die Kürzung). Aber wenn ich das aktuelle Element aus der Schleife (print(my_data['value'])
) drucke, erhalte ich den 15-stelligen abgeschnittenen Wert.
Jede Hilfe wird geschätzt!
@Kundor: Vielen Dank für mich Korrektur –