Problem: Unterschied PHP-Array und Python-Dictionary
Verfasst: Freitag 9. Dezember 2005, 00:48
Wenn ich in PHP ein assoziatives Array erzeuge und nach und nach Elemente hinzufüge, dann behalten alle ihre Reihenfolge in genau der Form, wie sie ursprünglich eingefügt wurden. Python hingegen merkt sich nicht, welches Element zuerst eingefügt wurde. Bereits nach ein paar Elementen bringt mir Python die Reihenfolge meines Dictionaries durcheinander. Zuerst dachte ich, dass Python nach den Schlüsseln sortiert. Aber das scheint nicht so zu sein. In diesem Beispiel sieht es so aus, als würde Python in umgekehrter Reihenfolge nach den Werten sortieren. Das variiert natürlich stark je nach Schlüsselnamen und Werten, aber ich komme nicht dahinter.
Ich möchte aber keine Sortierung, wenn ich neue Elemente mit myDict.append(myValue) anfüge. Vielmehr würde es mir nützen, wenn Python die Reihenfolge genau so behält, wie die Elemente nacheinander angefügt wurden. Wie erreiche ich das?
Ein Beispiel für ein PHP-Array:
Ergibt:
Ein Beispiel für ein Python-Dictionary:
Ergibt:
Ich möchte aber keine Sortierung, wenn ich neue Elemente mit myDict.append(myValue) anfüge. Vielmehr würde es mir nützen, wenn Python die Reihenfolge genau so behält, wie die Elemente nacheinander angefügt wurden. Wie erreiche ich das?
Ein Beispiel für ein PHP-Array:
Code: Alles auswählen
<?php
$a = array ("a" => "pear", "b" => "apple", "c" => "orange");
print_r ($a);
?>
Code: Alles auswählen
Array
(
[a] => pear
[b] => apple
[c] => orange
)
Code: Alles auswählen
#!/usr/bin/python
# -*- coding: utf-8 -*-
a = {"a": "pear", "b": "apple", "c": "orange"}
print a
Code: Alles auswählen
{'a': 'pear', 'c': 'orange', 'b': 'apple'}