Matrix als Wörterbuch; ist es sicher?

Ich weiß, dass die Reihenfolge der Schlüssel nicht garantiert ist und das ist okay, aber was genau bedeutet das, dass die Reihenfolge der Werte auch nicht garantiert ist * ?

Zum Beispiel vertrete ich eine Matrix als Wörterbuch, wie folgt:

signatures_dict = {} M = 3 for i in range(1, M): row = [] for j in range(1, 5): row.append(j) signatures_dict[i] = row print signatures_dict 

Sind die Spalten meiner Matrix richtig aufgebaut? Sagen wir, ich habe 3 Zeilen und bei dieser signatures_dict[i] = row , row hat immer 1, 2, 3, 4, 5. Was wird signatures_dict sein?

 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 

Oder so ähnlich

 1 2 3 4 5 1 4 3 2 5 5 1 3 4 2 

? Ich mache mir Sorgen um plattformübergreifende Unterstützung.

In meiner Anwendung sind die Zeilen Wörter und die Spalten Dokumente, so kann ich sagen, dass die erste Spalte ist das erste Dokument?

* Sind die Reihenfolge der Schlüssel () und Werte () im Python-Wörterbuch garantiert gleich zu sein?

  • Wie kann ich die ursprüngliche Reihenfolge der Schlüsselwort-Argumente abrufen, die an einen Funktionsaufruf übergeben werden?
  • Wie schalte ich die Position von zwei Elementen in einer Python-Liste um?
  • Geordnetes Wörterbuch in Python
  • Django ManyToManyField Bestellung mit durch?
  • In Python, wie finde ich gemeinsame Wörter aus zwei Listen bei der Erhaltung der Wortordnung?
  • Argparse argument bestellen
  • 2 Solutions collect form web for “Matrix als Wörterbuch; ist es sicher?”

    Sie haben garantiert 1 2 3 4 5 in jeder Zeile. Sie werden sie nicht neu anordnen. Die fehlende Reihenfolge der values() bezieht sich auf die Tatsache, dass, wenn Sie signatures_dict.values() anrufen, die Werte in beliebiger Reihenfolge kommen könnten. Aber die Werte sind die Zeilen, nicht die Elemente jeder Zeile. Jede Zeile ist eine Liste, und Listen behalten ihre Reihenfolge bei.

    Wenn du einen Dict wünschst, der Ordnung beibehält, hat Python das auch: https://docs.python.org/2/library/collections.html#collections.OrderedDict

    Warum nicht eine Liste von Listen als Matrix verwenden? Es würde alles haben, was du dir gegeben hast.

     In [1]: matrix = [[i for i in range(4)] for _ in range(4)] In [2]: matrix Out[2]: [[0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3]] In [3]: matrix[0][0] Out[3]: 0 In [4]: matrix[3][2] Out[4]: 2 
    Python ist die beste Programmiersprache der Welt.