2016-08-08 34 views
0

Lassen Sie uns sagen, wir haben ein WörterbuchWie ein Wörterbuch durch Komma getrennt drucken

dict = { 'Dollar': 12, 'Half-Coin': 4, 'Quarter': 3, 'Dime': 7 } 

Wie würde ich über das Drucken Sie den Code gehen, damit es wie folgt aussieht:

Dollar 12, Half-Münze 4 , Quarter 3, Dime 7

+4

Schreiben von Code wäre ein guter Anfang ... Sie zeigen, was Sie getan haben, um dies selbst zu versuchen, werden wir (vielleicht) versuchen, Hilfe zu beheben. Sonst machen wir einfach Ihre Arbeit für Sie. –

+0

Sie können ein Listenverständnis verwenden, um Ihre Einträge zu verknüpfen und sie dann mit der Funktion str.join() zu verbinden. Schaut es euch an;) –

Antwort

-1
dict = { 'Dollar': 12, 'Half-Coin': 4, 'Quarter': 3, 'Dime': 7 } 

out="" 
for i in dict: 
    out += i+" "+str(dict[i])+", " 

print out[:-2] 

Ergebnis:

Half-Coin 4, Quarter 3, Dollar 12, Dime 7 
1

Verwendung ','.join(), in einem Generator von Strings übergeben.

d = { 'Dollar': 12, 'Half-Coin': 4, 'Quarter': 3, 'Dime': 7 } 
print ', '.join('{} {}'.format(k,v) for k,v in d.items()) 

Ergebnis:

Half-Coin 4, Quarter 3, Dollar 12, Dime 7 

Wenn Sie die Ergebnisse wollen in einer vorhersagbaren Reihenfolge sein, müssen Sie die Elemente sortieren.

order=('Dollar', 'Half-Coin', 'Quarter', 'Dime') 
d = { 'Dollar': 12, 'Half-Coin': 4, 'Quarter': 3, 'Dime': 7 } 
print ', '.join('{} {}'.format(k,d[k]) for k in sorted(d, key=order.index)) 

Ergebnis:

Dollar 12, Half-Coin 4, Quarter 3, Dime 7 

Ps. Benennen Sie Ihre Variablen nicht mit Namen von eingebauten Typen. Ihr Name überschattet den eingebauten Namen, sodass der nachfolgende Code beispielsweise dict() nicht aufrufen kann.

+0

Danke, es klappt! Allerdings verstehe ich nicht, wie "für k, v in d.items())" in Verbindung mit dem Rest des Codes funktioniert. Was wird ausgesondert? –

+0

'd.items()' gibt eine Sequenz von Zwei-Element-Tupeln zurück. Das erste Element jedes Tupels ist ein Wörterbuchschlüssel. Das zweite Element ist ein Wörterbuchwert. Der Ausdruck "für k, v in d.items()" gibt eine Schleife an, die nacheinander den Schlüssel an "k" und den Wert an "v" für jedes Element im Wörterbuch zuweist. (Ich weiß nicht, was Sie mit "getrennt" meinen.) –

-1
", ".join([x +" "+str(dict[x]) for x in dict.keys()])