2017-10-02 3 views
0

Hallo ich zum Beispiel die Liste eins mit diesen Header haben:zwei Liste von Listen mit diffrent Index-Hinzufügen Größen

edges1=['a', 'g', 'w', 'Q'] 
list1=[[0, 2, 0, 9], [2, 0, 15, 2], [0, 15, 0, 7], [9, 2, 7, 0]] 

und

edges2=['a', 'w', 'Q', 'front', 'Z'] 
list2=[[0, 0, 0, 12, 0], [0, 0, 0, 2, 0], [0, 0, 0, 3, 5], [12, 2, 3, 0, 2], [0, 0, 5, 2, 0]] 

wie Sie diese sind Graphen sehen können, die gespeichert wurde in Matrixform. Ich muss diese zusammen addieren, und wenn das eine gemeinsame Kanten ist, sollte ich den niedrigeren Wert wählen und das in die endgültige Matrix setzen.

wie dies die letzte Antwort sein sollte:

sollte
a:g:w:Q:front:Z 
    0 2 0 9 12 0 
    2 0 15 2 0 0 
    0 15 0 7 2 0 
    9 2 7 0 3 5 
    12 0 2 3 0 2 
    0 0 0 5 2 0 

in der Form einer Liste sieht wie folgt aus:

Final_list:[[0,2,0,9,12,0],[2,0,15,2,0,0],[0,15,0,7,2,0],[9,2,7,0,3,5],[12,0,2,3,0,2],[0,0,0,5,2,0]] 

welche Methoden sollte ich diese Ausgabe zu erhalten verwenden?

+0

Können Sie mir hier mehr über das Problem erzählen? Was sind die Dimensionen der Arrays oder Listen? es sieht so aus, als ob du versuchst, zwei völlig verschiedene Listen zu verschmelzen. – abeltre1

+0

Ja, das ist das Problem, vor dem ich stehe. Ich habe sehr unterschiedliche Listen, die einige gemeinsame Nummern haben, die ich sie zusammenfügen muss. –

+0

Sie wollen eine Transformation der beiden Listen? Ist das ein Problem, das Sie im Unterricht bekommen haben oder Sie haben dieses Problem? Alle Quellen werden helfen. – abeltre1

Antwort

0

Sowohl list1 als auch list2 haben unterschiedliche Formen/Dimensionen und um irgendwelche "Zusätze" zu machen, müssten Sie sicherstellen, dass die Formen die gleichen sind.

Ich würde vorschlagen, numpy verwenden, um Ihre "Listen" in numply Arrays zu konvertieren. Von hier aus sollten Sie in der Lage sein, zusätzliche Zeilen und Spalten hinzuzufügen, um den Formen zu entsprechen.

Wie für die 'Addition' mit dem minimalen Wert außer 0 genommen. Ich würde alle 0 in Ihren Listen durch eine lächerlich große Ganzzahl ersetzen. Sie können dann die Minimalfunktion von numpy verwenden, um eine "addierte" Matrix zurückzugeben. Denken Sie daran, alle lächerlich großen ganzen Zahlen in Ihrer resultierenden/hinzugefügten Matrix wieder durch 0 zu ersetzen.

Und Sie sollten alle gut sein.

0

Da die Formularkante 1 und 2 eine Form von Matrix ist, können Sie eine neue Matrix mit der Länge einer neuen Vereinigungsliste von Vertex für Liste 1 und Liste 2 erstellen. Sie haben also die gleiche Form von neue Matrix 1 und Matrix 2. Dann können Sie sie vergleichen.

Verwandte Themen