تقنية

sort_keys في بايثون: هل يقارن المفاتيح كنصوص؟

في المثال، المفتاحان العدديان يرتبان 2 ثم 10.
مفاتيح عددية بترتيبها.

في مثالنا، sort_keys=True يرتب المفاتيح الأصلية قبل تحويلها إلى أسماء JSON. [1] [2]

الخلاصة السريعة

ليس دائمًا؛ المقارنة في المثال تسبق كتابة الأسماء النصية. [1] [2]

  • في مثالنا، sort_keys=True يرتب المفاتيح الأصلية قبل تحويلها إلى أسماء JSON. [1] [2]
  • مفتاحا 2 و10 العدديان يرتبان عدديًا؛ بعد الترميز تظهر أسماؤهما نصوصًا. [1] [2]
  • على CPython 3.12.14، numbers أدناه يعطي ترتيب الأسماء '2','10'. [1] [2]
  • texts ذو المفاتيح النصية يعطي '10','2'؛ الخيار نفسه لا يضمن المقارنة نفسها. [1] [2]
  • تحكم: تجميع نصين مستقلين يطابق الخرجين؛ القراءة تعطي القيم نفسها، ويبقى القاموسان. [1] [2]

فرز قبل كتابة الأسماء

في مثالنا، sort_keys=True يرتب المفاتيح الأصلية قبل تحويلها إلى أسماء JSON. [1] [2]

مفاتيح عددية

مفتاحا 2 و10 العدديان يرتبان عدديًا؛ بعد الترميز تظهر أسماؤهما نصوصًا. [1] [2]

ترتيب المثال العددي

على CPython 3.12.14، numbers أدناه يعطي ترتيب الأسماء '2','10'. [1] [2]

import json numbers={10:"leaf",2:"bud"} json.dumps(numbers,sort_keys=True) [1] [2]

في التحكم النصي، الاسم 10 يأتي قبل الاسم 2.
مفاتيح نصية بترتيبها.

مفاتيح نصية والتحكم

texts ذو المفاتيح النصية يعطي '10','2'؛ الخيار نفسه لا يضمن المقارنة نفسها. [1] [2]

texts={"10":"leaf","2":"bud"} json.dumps(texts,sort_keys=True) [1] [2]

تحكم: تجميع نصين مستقلين يطابق الخرجين؛ القراءة تعطي القيم نفسها، ويبقى القاموسان. [1] [2]

المراجع

  1. Python JSON
  2. CPython JSON

للتوسع: لغات البرمجة.

أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.