2016-05-13 25 views
1

Ich habe zwei Python-Listen wie folgt aus:Convert Liste Liste der Wörterbücher in Python

fruits = ["apple", "banana", "guava", "grapes"] 
colour = ["red", "yellow", "green", "black"] 

Ich wünsche ihnen in ein Wörterbuch im folgenden Format konvertieren:

dictionary = [{"fruit":"apple", "colour":"red"},{"fruit":"banana", "colour":"yellow"}...] 
+1

in Betracht ziehen, weitere Details wie den Code, den Sie bereits ausprobiert haben etc .. – Kannaj

+0

Sehr ähnlich zu diesem: http://stackoverflow.com/questions/4576115/convert-a-list-to-a -dictionary-in-python? rq = 1 –

Antwort

10

Zip Ihre Frucht und Farblisten zusammen mit den zip() function und bauen ein neues Wörterbuch von jedem Paar:

[{'fruit': f, 'colour': c} for f, c in zip(fruits, colour)] 

Verwendet list comprehension, um die Listenausgabe von einer Schleife zu erstellen.

Demo:

>>> fruits = ["apple", "banana", "guava", "grapes"] 
>>> colour = ["red", "yellow", "green", "black"] 
>>> [{'fruit': f, 'colour': c} for f, c in zip(fruits, colour)] 
[{'colour': 'red', 'fruit': 'apple'}, {'colour': 'yellow', 'fruit': 'banana'}, {'colour': 'green', 'fruit': 'guava'}, {'colour': 'black', 'fruit': 'grapes'}] 
+0

Wie immer eine gute Antwort von Ihnen! Aber bedenken Sie, dass selbst Python-Anfänger das Zippen von Listen oder für Schleifen mit mehreren Variablenzuweisungen in einem Listenverständnis nicht verstehen ... – linusg

+2

@linusg: Ich bin hier für Folgekommentare, da sind ja SO Fragen und Dokumentation wir kann auf zeigen. –

0

Eine gute Lösung gefunden I ist eine externe CSV-Datei zu verwenden, um Ihr Wörterbuch zum Beispiel zur Verwaltung der dict.csv die directry der CSV-Datei ist

import csv 
import os 

dictionary = os.getcwd() + r'\dict.csv' 
with open(dictionary, mode='r') as infile: 
     reader = csv.reader(infile) 
     mydict = {rows[0]:rows[1] for rows in reader} 

und in der CSV-Datei kann die erste Spalte als Früchte der zweiten Spalte als Farbe haben. Einfach zu ändern und zu verwalten

Verwandte Themen