python - matriz - Lista de impresión sin corchetes en una sola fila
imprimir una lista en python (8)
Tengo una lista en Python, por ejemplo
names = ["Sam", "Peter", "James", "Julian", "Ann"]
Quiero imprimir la matriz en una sola línea sin la normal "[]
names = ["Sam", "Peter", "James", "Julian", "Ann"]
print (names)
Dará la salida como;
["Sam", "Peter", "James", "Julian", "Ann"]
Ese no es el formato que quiero en cambio, quiero que sea así;
Sam, Peter, James, Julian, Ann
Nota: debe estar en una sola fila.
Aquí hay uno simple.
names = ["Sam", "Peter", "James", "Julian", "Ann"]
print(*names)
la estrella desempaqueta la lista y devuelve cada elemento de la lista.
Esto es lo que necesitas
", ".join(names)
Hay dos respuestas, la primera es usar la configuración ''sep''
>>> print(*names, sep = '', '')
El otro está debajo
>>> print('', ''.join(names))
Necesita recorrer la lista y usar end=" "
para mantenerlo en una línea
names = ["Sam", "Peter", "James", "Julian", "Ann"]
index=0
for name in names:
print(names[index], end=", ")
index += 1
No sé si esto es eficiente como otros, pero la lógica simple siempre funciona:
import sys
name = ["Sam", "Peter", "James", "Julian", "Ann"]
for i in range(0, len(names)):
sys.stdout.write(names[i])
if i != len(names)-1:
sys.stdout.write(", ")
Salida:
Sam, Peter, James, Julian, Ann
Si la matriz de entrada es de tipo Entero, primero debe convertir la matriz en una matriz de tipo cadena y luego usar el método de unión para unir o espacio lo que desee. p.ej:
>>> arr = [1, 2, 4, 3]
>>> print(", " . join(arr))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: sequence item 0: expected string, int found
>>> sarr = [str(a) for a in arr]
>>> print(", " . join(sarr))
1, 2, 4, 3
>>>
El uso directo de join que unirá el número entero y la cadena arrojará el error como se muestra arriba.
Solución general, funciona en matrices de cadenas:
>>> print str(names)[1:-1]
''Sam'', ''Peter'', ''James'', ''Julian'', ''Ann''
print '', ''.join(names)
Esto, como suena, simplemente toma todos los elementos de la lista y los une con '', ''
.