2016-06-05 12 views
-5

Ich erstellte eine dict wie folgt: dic = {80:90, 7:60, 9:1} dann konvertierte ich das dict in eine Liste li = [dic.keys()], aber wenn ich drucke, bekomme ich [dict_keys(['80, 7, 9'])].Wie alles außer Nummer?

Wie entferne ich alles außer '80, 7, 9'?

+0

versuche 'li = list (dic.keys())' wenn du die Schlüssel als Liste haben möchtest (im Gegensatz zu einer 1-Element Liste, deren einziges Item iterierbar ist) –

+0

Die beschriebene Begründung für das Schließen scheint falsch - Das Problem scheint mehr darin zu bestehen, die Schlüssel nicht in eine Liste zu bekommen (als die Liste nicht drucken zu können, obwohl Letzteres wahrscheinlich auch ein Problem für sie ist). –

+0

1. Bitte geben Sie an, auf welche Python-Version Sie sich beziehen. Von der erwähnten Ausgabe nehme ich an, dass Ihre Frage zu Python 3 gehört. 2. Auch die letzte Frage ist nicht gut angegeben. Sie können alles außer "80, 7, 9" entfernen, indem Sie die endgültige Ausgabe analysieren oder den "li" -Konversionscode ändern. Geht man von letzterem und einem Schlüsselwort ** conversion ** aus, lautet die Antwort, den Konstruktor 'list' direkt zu verwenden, um die Umwandlung durchzuführen:' li = list (dic.keys()) '. Grund? '[]' Klammern setzen ein Element in die Liste, deshalb haben Sie hier eine verschachtelte Liste. Siehe auch Python 2, wo dein 'li' als' [[80, 9, 7]] 'angezeigt wird. – ktalik

Antwort

0

testen

li = dic.keys() 

keys() bereits eine Liste der Schlüssel in Ihrem Wörterbuch zurückgibt.

+1

Die Frage bezieht sich eindeutig auf Python 3 (basierend auf der Ausgabe, die sie beschreiben). Deine Antwort trifft nur auf Python 2 zu. Python 3 ist viel fauler - es erzeugt nur eine Liste in einem Fall wie diesem, wenn du es mit 'list()' –

+0

erzwingst. Kein Wunder, dass ich Python 3 verachte. – spidertothefly127

Verwandte Themen