تُعدّ القواميس والقوائم بنى بيانات أساسية في بايثون، ولكل منها مزايا فريدة. يُعدّ التحويل بينهما مهمة شائعة، وتتناول هذه المقالة طرقًا فعّالة لتحويل قاموس بايثون إلى قائمة، لتلبية الاحتياجات المختلفة.
جدول المحتويات
- استخراج المفاتيح في قائمة
- استخراج القيم في قائمة
- التحويل إلى قائمة من أزواج المفتاح والقيمة
- استخدام فهم القائمة للمرونة
استخراج المفاتيح في قائمة
توفر طريقة keys()
طريقة مباشرة للحصول على قائمة مفاتيح القاموس. وهي تُرجع كائن عرض، يتم تحويله بكفاءة إلى قائمة باستخدام list()
.
my_dict = {"a": 1, "b": 2, "c": 3}
keys_list = list(my_dict.keys())
print(keys_list) # الإخراج: ['a', 'b', 'c']
هذه الطريقة فعّالة وتحافظ على ترتيب المفاتيح (مضمون من بايثون 3.7 فصاعدًا).
استخراج القيم في قائمة
وبالمثل، تستخرج طريقة values()
قيم القاموس، والتي يتم تحويلها بسهولة إلى قائمة.
my_dict = {"a": 1, "b": 2, "c": 3}
values_list = list(my_dict.values())
print(values_list) # الإخراج: [1, 2, 3]
تعكس القائمة الناتجة ترتيب المفاتيح (المحافظ عليه من بايثون 3.7+).
التحويل إلى قائمة من أزواج المفتاح والقيمة
للحفاظ على كل من المفاتيح والقيم، استخدم طريقة items()
. وهي تُرجع أزواج المفتاح والقيمة كأزواج، يتم تحويلها بسهولة إلى قائمة.
my_dict = {"a": 1, "b": 2, "c": 3}
items_list = list(my_dict.items())
print(items_list) # الإخراج: [('a', 1), ('b', 2), ('c', 3)]
يُعدّ هذا التمثيل المُبَنى مثاليًا لمعالجة المفتاح والقيمة في وقت واحد.
استخدام فهم القائمة للمرونة
يُقدّم فهم القائمة نهجًا مُوجزًا وقويًا، مفيدًا بشكل خاص للتحويلات المُخصصة.
my_dict = {"a": 1, "b": 2, "c": 3}
#مثال 1: قائمة من أزواج المفتاح والقيمة بقيم مُعدّلة
modified_items = [(k, v*2) for k, v in my_dict.items()]
print(modified_items) #الإخراج: [('a', 2), ('b', 4), ('c', 6)]
#مثال 2: قائمة من المفاتيح حيث القيم أكبر من 1
filtered_keys = [k for k, v in my_dict.items() if v > 1]
print(filtered_keys) #الإخراج: ['b', 'c']
يُوفر فهم القائمة مرونة لتكييف التحويل مع متطلبات المعالجة المحددة.
توفر بايثون طرقًا فعالة متعددة لتحويل القواميس إلى قوائم، مما يُمكّن من معالجة بنى البيانات بسلاسة. يعتمد اختيار أفضل نهج على النتيجة المرجوة و تعقيد التحويل.