ฉันมีปัญหาในการใช้collections.OrderedDict
ชั้นเรียน ฉันใช้ Python 2.7 บน Raspbian, Debian distro สำหรับ Raspberry Pi ฉันกำลังพยายามพิมพ์พจนานุกรมสองเล่มเพื่อเปรียบเทียบ (เคียงข้างกัน) สำหรับการผจญภัยแบบข้อความ ลำดับเป็นสิ่งสำคัญในการเปรียบเทียบอย่างถูกต้อง ไม่ว่าฉันจะลองใช้พจนานุกรมพิมพ์ด้วยวิธีที่ไม่เรียงลำดับตามปกติ
นี่คือสิ่งที่ฉันได้รับเมื่อฉันทำบน RPi ของฉัน:
import collections
ship = {"NAME": "Albatross",
"HP":50,
"BLASTERS":13,
"THRUSTERS":18,
"PRICE":250}
ship = collections.OrderedDict(ship)
print ship
# OrderedDict([('PRICE', 250), ('HP', 50), ('NAME', 'Albatross'), ('BLASTERS', 13), ('THRUSTERS', 18)])
เห็นได้ชัดว่ามีบางอย่างไม่ถูกต้องเนื่องจากกำลังพิมพ์การเรียกใช้ฟังก์ชันและวางคีย์และกลุ่มค่าไว้ในรายการที่ซ้อนกัน ...
นี่คือสิ่งที่ฉันได้รับจากการเรียกใช้สิ่งที่คล้ายกันบนพีซีของฉัน:
import collections
Joe = {"Age": 28, "Race": "Latino", "Job": "Nurse"}
Bob = {"Age": 25, "Race": "White", "Job": "Mechanic", "Random": "stuff"}
#Just for clarity:
Joe = collections.OrderedDict(Joe)
Bob = collections.OrderedDict(Bob)
print Joe
# OrderedDict([('Age', 28), ('Race', 'Latino'), ('Job', 'Nurse')])
print Bob
# OrderedDict([('Age', 25), ('Race', 'White'), ('Job', 'Mechanic'), ('Random', 'stuff')])
คราวนี้เป็นไปตามลำดับ แต่ไม่ควรพิมพ์อย่างอื่นใช่ไหม? (การใส่ลงในรายการและแสดงการเรียกใช้ฟังก์ชัน)
ฉันทำผิดพลาดตรงไหน ไม่น่าจะเกี่ยวอะไรกับ Python เวอร์ชั่น pi เพราะมันเป็นแค่เวอร์ชั่น Linux
OrderedDict
จัดเรียงตามลำดับการแทรกไม่ใช่ลำดับคีย์ที่เป็นตัวอักษรและตัวเลข