Asumir esta variable:Cómo lista (o tupla) utiliza como valor de formato de cadenas
s=['Python', 'rocks']
x = '%s %s' % (s[0], s[1])
Ahora me gustaría sustituir lista mucho más larga, y la adición de todos los valores de la lista por separado, al igual que s [0], s [1], ... s [n], no parece correcto
Presupuesto de documentación:
Dados los valores de% de formato ... Si el formato requiere un solo argumento, los valores pueden ser un solo obj no tuple ect. [4] De lo contrario, los valores deben ser una tupla con exactamente el número de elementos especificados mediante la cadena de formato o un solo objeto de asignación (por ejemplo, un diccionario ).
He intentado muchas combinaciones con tuplas y listas como formateadores pero sin éxito, así que pensé que pedir aquí
espero que sea clara
[editar] OK, tal vez no estaba clara lo suficientemente
tengo variable de texto grande, como
s = ['a', 'b', ..., 'z']
x = """some text block
%s
onother text block
%s
... end so on...
""" % (s[0], s[1], ... , s[26])
I wo ULD gustaría cambiar % (s[0], s[1], ... , s[26])
más compacta sin introducir todos los valores a mano
Ah, 'tuple (s)' ... gracias. Esto resolvió el caso – Ghostly
Con el operador '%' desaprobado en python 3, debe comenzar utilizando el método 'format' en su lugar:' x = "{0} {1}". Format (* s) '. 'join' es la mejor solución en este caso, por supuesto .. –