2016-08-22 2 views
1

Ich habe eine Liste von numerischen Daten aus einer GIS-Datei lesen (SHP):Force-Zahlen in der Liste auf zwei Dezimalstellen

dataList = [4.98, 5.09, 5.23, 5.35, 5.4, 5.59, ...]

Ich bin für eine Methode, die Kräfte Nummern in dieser Liste suchen angezeigt wird, auf zwei Dezimalstellen, mit Ausgabe wie folgt:

dataList = [4.98, 5.09, 5.23, 5.35, 5.40, 5.59, ...]

Das Hauptproblem ist, dass ich die Anzeige jedes Elements in einem separaten Kartendokument in einer Schleife mit dem folgenden: TextElement11.text = dataList[count], die die "{:.2f}" oder .format(5) Lösungen, die ich anderswo gefunden habe, nicht unterstützt.

Die Elemente in dieser Liste dienen nur zu Anzeigezwecken. Es spielt also keine Rolle, ob eine Lösung eine Konvertierung erfordert, z. zu einer Zeichenfolge.

Ich benutze Python 2.7.

Antwort

2

Iterate durch Ihre Datenliste und wandelt jeden Wert auf den formatierten String:

new_datalist = ["{:.2f}".format(value) for value in dataList] 
+0

Danke. Ich habe das anfangs versucht, aber ich denke, ich habe die gleiche Liste verwendet, z. 'dataList = [" {: .2f} ". format (Wert) für Wert in dataList]', was zu Fehlern führte. Ich bin noch nicht würdig, dir ein +1 zu geben, also muss meine Dankbarkeit für jetzt genügen. – DonkeyKong

1

meist Pythonic Weg, dies zu erreichen, wird mit map() und lambda Funktionen.

map(lambda x: "{:.2f}".format(x), dataList) 
Verwandte Themen