0
votes

Convertir des chaînes dans la liste pour flotter et enlever aucun?

[7.800000, 6.300000, 6.800000, 7.300000, 0.000000, 0.000000, 0.000000, 0.000000]

5 commentaires

Ce n'est pas ces float s, pas int s?


Mes excuses, ils sont des flotteurs, oui


Souhaitez-vous garder le Aucun s, ou éliminez-les?


Éliminez-les en fait


Oh wow, merci!


3 Réponses :


2
votes

Vous ne voulez probablement pas les entourer au dollar le plus proche, vous voudrez donc qu'ils soient des flotteurs ou des décimales plutôt que des entiers (sauf si vous ne le souhaitez peut-être pas converti au nombre de sous-pentiers plutôt que le nombre de dollars). Pour faire des flotteurs: P>

from decimal import Decimal
penny = Decimal(".01")
...
new_list = [Decimal(f[parameter_a]).quantize(penny) for f in list_of_dicts]


5 commentaires

Les flotteurs sont des nombres et peuvent être présentés de différentes manières comme des chaînes. Mais je pense toujours que cela sonne comme si vous seriez plus heureux avec des décimales, je vais donc ajouter cela à répondre.


Beaucoup apprennent, Andrew! Heureusement, les offres pour mes contrats d'option sont calculées à la deuxième décimale Haha!


Pas de soucis, je suis également en train de négocier, mais je fais du forex, où nous avons des prix qui vont au millième d'un centime. J'ai toujours fini par écrire une classe de prix pour le forex basé sur des décimales plutôt que sur des flotteurs. Mais il y a une courbe d'apprentissage avec Pacakage décimal. Github.com/aalLaire/python_forex_types/blob/master/forex_typ es / ...


Va certainement vérifier!


Son seul bon pour le trading de forex. Ne vous aidera pas avec les stocks. Et ce n'est pas réellement ce bien encore .. EDIT: Mais cela pourrait servir d'exemple de la manière d'utiliser des décimales et de tels.



2
votes

La compréhension de la liste est la solution la plus simple:

new_list = ['7.800000', '6.300000', '6.800000', '7.300000', '0.000000', '0.000000', None, '0.000000']
float_list = [float(item) if item is not None else None for item in new_list ]
>>> print(new_list)
>>> print(float_list)
['7.800000', '6.300000', '6.800000', '7.300000', '0.000000', '0.000000', None, '0.000000']
[7.8, 6.3, 6.8, 7.3, 0.0, 0.0, None, 0.0]


1 commentaires

Je n'ai pas nécessairement besoin de la traînée Haha, merci beaucoup Sam!



1
votes

Vous pouvez utiliser une compréhension de liste: xxx

sortie: xxx


0 commentaires