Imprimare Python fără virgule (Programare, Python)

ttwis a intrebat.
a intrebat.

Cum pot imprima liste fără paranteze și virgule?

Am o listă de permutări ca aceasta:

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

Vreau să le tipăresc astfel: 1 2 3

9 răspunsuri
Jon Clements
blah = [ [1,2,3], [1,3,2] ]

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

Merită să rețineți că map este un pic demodat și este mai bine scris fie ca generator, fie ca list-comp, în funcție de cerințe. Acest lucru are, de asemenea, avantajul că va fi portabil între Python 2.x & 3.x, deoarece va genera o listă pe 2.x, în timp ce rămâne leneș pe 3.x

Deci, textul de mai sus ar fi scris (folosind o expresie generatoare) sub forma:

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

Sau folosind formatarea șirurilor de caractere:

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

Comentarii

  • Ultima necesită totuși ca lista să aibă trei elemente. Ați putea folosi ceva de genul " ".join(['{}'] * len(bla)) dar nu este prea frumos, sau ("{} "*len(bla))[:-1].format –  > Por phant0m.
  • Utilizarea lui map() este descurajată în favoarea înțelegerilor de liste și a expresiilor generatoare. –  > Por Thijs van Dien.
Surya Prakash Singh

În cazul în care lista este

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

Imprimarea listei fără paranteze și virgule:

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

#1 2 3 4 5

Edson Hungwe
Number_list = [1, 2, 3, 4, 5]
Print(*Number_list, sep="") # empty quote

Comentarii

  • Atunci când răspundeți la o întrebare veche, răspunsul dvs. ar fi mult mai util pentru alți utilizatori StackOverflow dacă ați include un context care să explice cum ajută răspunsul dvs., în special pentru o întrebare care are deja un răspuns acceptat. Vedeți: Cum să scriu un răspuns bun. –  > Por David Buck.
Shashank Singh

Exemplu: aveți o listă numită nume.

names = ["Sam", "Peter", "James", "Julian", "Ann"]
for name in range(len(names)):
    print names[name],

namit
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]: 

KayDee
n = int(input())
i = 1
x = []
while (i <= n):
    x.append(i)
    i = i+1
print(*x, sep='')

presupunând că n este un număr introdus de un utilizator, puteți rula printr-o buclă și adăuga valorile de la i la n la o listă x. la sfârșit, puteți imprima matricea (*x) folosind nimic (”) pentru a separa valorile. acest lucru păstrează valorile în formatul lor original, în acest caz un număr.

Byeongguk Gong

Puteți face acest lucru.

Cod:

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

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

Rezultat:

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

khajur
completedWord=['s','o','m','e',' ','w','o','r','d','s']
print(*completedWords,sep=' ')

output = s o m e w o r d sObservați că există două spații în sep=’ ‘ ‘

Sujit Shakya
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

Tags: