2012-11-25 7 views
7

Comment imprimer des listes sans crochets ni virgules?Impression en Python sans virgule

J'ai une liste de permutations comme ceci:

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

Je veux les imprimer comme ceci: 1 2 3

Répondre

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

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

Il est intéressant de noter que map est un peu à l'ancienne et est mieux écrit comme un générateur ou liste-comp en fonction des besoins. Cela a également l'avantage qu'il sera portable sur Python 2.x & 3.x car il va générer une liste sur 2.x, tout en restant paresseux sur 3.x

Ainsi, ce qui précède serait écrit (en utilisant une expression de générateur) comme:

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

Ou en utilisant la mise en forme de chaîne:

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

l'ont fait :) merci – ttwis

+1

La dernière exige que la liste comprend trois éléments bien. Vous pouvez utiliser quelque chose comme '" ".join (['{}'] * len (bla))' mais cela n'est pas joli, ou '(" {} "* len (bla)) [: - 1] .format ' – phant0m

+0

L'utilisation de' map() 'est déconseillée en faveur des expressions de liste et des générateurs. –

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

Si la liste est

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

Imprimer la liste sans support et virgules:

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

#1 2 3 4 5 
1

exemple, vous avez une liste des noms appelés.

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='') 

supposant n est une entrée numérique par un utilisateur, vous pouvez exécuter à travers une boucle et ajoutez les valeurs i à n à une liste x. à la fin, vous pouvez imprimer le tableau (* x) en utilisant rien ('') pour séparer les valeurs. cela garde vos valeurs dans leur format d'origine, dans ce cas un nombre.

0

Vous pouvez le faire.

code:

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

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

Résultat:

[1, 2, 3] 
[3, 2, 1]