J'ai une liste de tuples où les entrées dans les tuples sont de type mixte (int, float, tuple) et veulent imprimer chaque élément de la liste sur une ligne.Impression des flottants formatés dans un tuple imbriqué de type mixte
liste Exemple:
[('520',
(0.26699505214910974, 9.530913611077067e-22, 1431,
(0.21819421133984918, 0.31446394340528838), 11981481)),
('1219',
(0.2775519783082116, 2.0226340976042765e-25, 1431,
(0.22902629625165472, 0.32470159534237308), 14905481))]
Je voudrais imprimer chaque tuple comme une seule ligne avec les flotteurs formatés pour imprimer au lieu de dix-millième:
[('520', (0.2669, 9.5309e-22, 1431, (0.2181, 0.3144), 11981481)),
('1219', (0.2775, 2.0226e-25, 1431, (0.2290, 0.3247), 14905481))]
j'utilisais pprint
à obtenir tout sur une ligne
pprint(myList, depth=3, compact=True)
> ('1219', (0.2775519783082116, 2.0226340976042765e-25, 1431, (...), 14905481))]
mais je ne savais pas comment bien lement formater les flotteurs d'une manière pythonique. (Il doit y avoir une meilleure façon de le faire que boucler dans la liste, faire une boucle sur chaque tuple, en vérifiant if-float/if-int/if-tuple et en convertissant tous les flottants via "%6.4f" % x
).
Pas aussi bien que je l'imaginais (je pense qu'il devrait y avoir une fonction de formatage d'impression récursive disponible), mais faire les travaux. Merci! – Sal