2012-11-25 16 views
7

Come posso stampare liste senza parentesi e virgole?Stampa Python senza virgole

Ho un elenco di permutazioni in questo modo:

[1, 2, 3] 
    [1, 3, 2] etc.. 

voglio stampare loro in questo modo: 1 2 3

risposta

23
blah = [ [1,2,3], [1,3,2] ] 

for bla in blah: 
    print ' '.join(map(str, bla)) 

vale la pena notare che map è un po 'vecchio stile ed è meglio scritto come generatore o list-comp in base ai requisiti. Questo ha anche il vantaggio che sarà portatile su Python 2.x & 3.x poiché genererà un elenco su 2.x, mentre rimarrà pigro su 3.x

Quindi, quanto sopra sarebbe scritto (utilizzando un generatore di espressione) come:

for bla in blah: 
    print ' '.join(str(n) for n in bla) 

o utilizzando formattazione di stringhe:

for bla in blah: 
    print '{} {} {}'.format(*bla) 
+0

lo ha fatto :) si – ttwis

+1

grazie L'ultimo richiede l'elenco per avere tre elementi però. Potresti usare somethihng come "" ".join (['{}'] * len (bla))' sebbene sia difficile, o '(" {} "* len (bla)) [: - 1] .format ' – phant0m

+0

L'uso di' map() 'viene scoraggiato a favore delle comprensioni delle liste e delle espressioni generatrici. –

0
In [1]: blah = [ [1,2,3], [1,3,2] ] 

In [2]: for x in blah: 
    ...:  print x[0],x[1],x[2] 
    ...:  
1 2 3 
1 3 2 

In [3]: 
-1
temp = [[2,3,5],[2,5,3]] 
for each_temp in temp: 
    if isinstance(each_temp,list): 
     for nested_temp in each_temp: 
      print nested_temp 
3

se la lista è

l=[1,2,3,4,5] 

Stampa della lista senza staffa e virgole:

print " ".join(map(str,l)) 

#1 2 3 4 5 
1

Esempio di avere una lista chiamati nomi.

names = ["Sam", "Peter", "James", "Julian", "Ann"] 
for name in range(len(names)): 
    print names[name], 
0
n = int(input()) 
i = 1 
x = [] 
while (i <= n): 
    x.append(i) 
    i = i+1 
print(*x, sep='') 

supponendo n è un numero di ingresso da un utente, è possibile eseguire attraverso un ciclo e aggiungere i valori i per n ad una lista x. alla fine, è possibile stampare la matrice (* x) usando nulla ('') per separare i valori. questo mantiene i tuoi valori nel loro formato originale, in questo caso un numero.

0

È possibile farlo.

Codice:

list = [[1, 2, 3], [3, 2, 1]] 

for item in list: 
    print("{}".format(item, end="\n") 

Risultato:

[1, 2, 3] 
[3, 2, 1] 
Problemi correlati