2016-04-06 6 views
0

Zum Wörterbuch Ich versuche, die folgende 2D-Liste zu konvertieren:Python: Konvertieren Sie 2D-Liste

lst = [['A','B'],['C','D']] 

Um ein Wörterbuch wie:

dict = {['A','B']:0, ['C','D']:1} 

Ich habe versucht, Antworten von anderen Beiträge wie folgt aus:

{k: v for v, k in enumerate(lst)} 

Was mir diesen Fehler gibt:

unhashable type: 'list' 

Jede Hilfe wird sehr geschätzt. Vielen Dank.

+2

Listen und andere veränderbare Typen können keine Wörterbuchschlüssel sein. Was willst du damit machen? – tzaman

+0

@tzaman vergleichen Sie es mit einem anderen Wörterbuch ähnlich, um Indizes von Elementen in den beiden zu finden. – ahajib

+0

, aber Sie können Tupel verwenden: '{tuple (k): v für v, k in enumerate (lst)}' – Thomas

Antwort

1

Listen wandelbar sind, und können daher nicht als Dictionary-Schlüssel verwendet werden. Sie können sie in Tupel konvertieren, wenn Sie möchten:

{tuple(k): v for v, k in enumerate(lst)} 
1

Mutable Typen können keine Schlüssel von einem Wörterbuch, aber Sie können, wie dies für Ihre Zwecke Tupeln als Dictionary-Schlüssel speichern:

{tuple(k): v for v, k in enumerate(lst)} 
Verwandte Themen