Claro, utilice el método .format. Por ejemplo,
print '{:10s} {:3d} {:7.2f}'.format('xxx', 123, 98)
print '{:10s} {:3d} {:7.2f}'.format('yyyy', 3, 1.0)
print '{:10s} {:3d} {:7.2f}'.format('zz', 42, 123.34)
imprimirá
xxx 123 98.00
yyyy 3 1.00
zz 42 123.34
Se puede ajustar el tamaño de los campos según se desee. Tenga en cuenta que .format
funciona independientemente de print
para formatear una cadena. Acabo de usar print para mostrar las cadenas. Breve explicación:
10s
formato de una cadena con 10 espacios, que quedan justificados por
3d
formato de un entero reservar 3 plazas de forma predeterminada, justificado a la derecha de manera predeterminada
7.2f
formato de un flotador, reservando 7 espacios, 2 después del punto decimal, justificado de forma correcta por defecto.
Hay muchas opciones adicionales para posicionar/formatear cadenas (relleno, justificación izquierda/derecha, etc.), String Formatting Operations proporcionará más información.
¡Exactamente lo que estaba buscando, gracias! – anio
Nota: '7.2f' impone la precisión de 2, pero 7 tiene solo un _minimum_ ancho. Para las entradas que no coinciden con los formatos, es posible que no obtenga un ancho de 7. ej. aunque 12345.7 tiene solo 7 caracteres, el formato ''{: 7.2f}'. (12345.7)' tiene un ancho de 8. – jkmacc
@jkmacc buen punto, gracias por decirlo explícitamente (el enlace proporciona más información sobre esto, y más , así como en la parte superior # 4, pero esto es más explícito/más fácil :) – Levon