Adam Ebrahim نشر 3 يونيو 2021 أرسل تقرير نشر 3 يونيو 2021 أريد أن أقوم بعمل قاموس يحتوي على بعض العناصر كالتالي: {2:True, 1:False, 4:None, 3:”Hi”} ومن المفترض أن يتم تحويله إلى التالي: {1:False, 2:True, 3:”Hi”, 4:None} حاولت البحث عن حل لهذه المشكلة أكثر من مرة ولكن كل الحلول التي وجدها تستخدم الدالة sorted التي تقوم بإعادة tuple وليس قاموس dictionary اقتباس
1 محمد أبو عواد نشر 3 يونيو 2021 أرسل تقرير نشر 3 يونيو 2021 بداية نقوم بانشاء قاموس ليكن اسمه D1 D1 = {2:3, 1:89, 4:5, 3:0} ثم نقوم بانشاء قاموس فارغ sort_dic = {} ثم نقوم بعمل حلقة تكرار على القاموس الأول وهو مرتب بناء على ال key, وبداخل الحلقة نقوم بعمل update للقاموس الفارغ بتعديل قيمه كالتالي for i in sorted(D1): sort_dic.update({i:D1[i]}) لو حاولنا طباعة القاموس بعد الترتيب سوف يكون الشكل كالتالي print(sort_dic) #{1: 89, 2: 3, 3: 0, 4: 5} 1 اقتباس
0 سمير عبود نشر 3 يونيو 2021 أرسل تقرير نشر 3 يونيو 2021 بإمكانك إستخدام الدالة dict مع الدالة sorted للوصول إلى ما تريد: d = {2:True, 1:False, 4:None, 3:"Hi"} sortedD = dict(sorted(d.items())) print(sortedD) # {1: False, 2: True, 3: 'Hi', 4: None} 2 اقتباس
0 سامح أشرف نشر 4 يونيو 2021 أرسل تقرير نشر 4 يونيو 2021 يمكنك أن تستعمل الكائن OrderedDict الموجود في مكتبة collections حيث يقوم بترتيب كل عناصر القاموس بالشكل التالي: >>> import collections >>> x = {2:True, 1:False, 4:None, 3:"Hi"} >>> sortedX = collections.OrderedDict(sorted(d.items())) >>> sortedX OrderedDict([(1, False), (2, True), (3, 'Hi'), (4, None)]) >>> sortedX[1] False >>> 1 اقتباس
السؤال
Adam Ebrahim
أريد أن أقوم بعمل قاموس يحتوي على بعض العناصر كالتالي:
ومن المفترض أن يتم تحويله إلى التالي:
حاولت البحث عن حل لهذه المشكلة أكثر من مرة ولكن كل الحلول التي وجدها تستخدم الدالة sorted التي تقوم بإعادة tuple وليس قاموس dictionary
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.