قاموس البيانات (dictionary) في لغة البرمجة بايثون هو أحد هياكل البيانات التي تستخدم لتخزين بيانات مترابطة ببعضها. يحوي القاموس مجموعة من المفاتيح (key) والقيم (value) حيث ان كل مفتاح له قيمة وتكون المفاتيح فريدة اي لا يكمن ان تتكرر. فمثلا، هذا قاموس يحوي أسماء البلدان كمفاتيح والعواصم كقيم:
data = {'Saudi': 'Riyadh', 'Egypt': 'Cairo', 'France': 'Paris'}
كذلك، هذا قاموس بأسماء الطلاب ومعدلاتهم الدراسية:
data = {'Student': ['Ahmed', 'Mohamed', 'Ali'], 'GPA': ['70%', '80%', '90%']}
ويمكن التعامل مع البيانات في القاموس من خلال عدد من الدوال يمكن تلخيص أهمها كما يلي:
أولاً: استخراج قيمة المفتاح إذا كان المفتاح موجودًا في القاموس ويتم ذلك من خلال الدالة get كما يلي:
In: data = {'Saudi': 'Riyadh', 'Egypt': 'Cairo', 'France': 'Paris'} data.get('Egypt') Out: 'Cairo'
او باستخدام الفهرس (index) كما يلي:
In: data['Saudi'] Out: 'Riyadh'
ثانياً: تحديث قيمة موجودة في القاموس وذلك كما يلي:
In: data['Saudi']='الرياض' print(data) Out: {'Saudi': 'الرياض', 'Egypt': 'Cairo', 'France': 'Paris'}
كما يمكن إضافة قيمة جديدة كما يلي:
In: data['UK']='London' print(data) Out: {'Saudi': 'Riyadh', 'Egypt': 'Cairo', 'France': 'Paris', 'UK': 'London'}
كذلك يمكن تحديث عدة عناصر باستخدام الدالة update كما يلي:
In: data.update({'Egypt': 'القاهرة', 'France': 'باريس'}) print(data) Out: {'Saudi': 'الرياض', 'Egypt': 'القاهرة', 'France': 'باريس', 'UK': 'London'}
أو إضافة عدة عناصر كما يلي:
In: data.update({'Emirates': 'Abu Dhabi', 'Bahrain': 'Manama'}) print(data) Out: {'Saudi': 'الرياض', 'Egypt': 'القاهرة', 'France': 'باريس', 'UK': 'London', 'Emirates': 'Abu Dhabi', 'Bahrain': 'Manama'}
ثالثاً: حذف اخر عنصر (مفتاح وقيمته) من القاموس وذلك باستخدام الدالة popitem كما يلي:
In: data.popitem() print(data) Out: {'Saudi': 'الرياض', 'Egypt': 'القاهرة', 'France': 'باريس', 'UK': 'London', 'Emirates': 'Abu Dhabi'}
أو حذف عنصر محدد من القاموس باستخدام الدالة pop كما يلي:
In: data.pop('France') print(data) Out: {'Saudi': 'الرياض', 'Egypt': 'القاهرة', 'UK': 'London', 'Emirates': 'Abu Dhabi'}
رابعاً: استخراج جميع مفاتيح القاموس:
In: data.keys() Out: dict_keys(['Saudi', 'Egypt', 'UK', 'Emirates'])
خامساً: استخراج جميع قيم القاموس:
In: data.values() Out: dict_values(['الرياض', 'القاهرة', 'London', 'Abu Dhabi'])