قاموس بايثون - كل ما تحتاج إلى معرفته

قاموس بايثون - كل ما تحتاج إلى معرفته

قواميس Python هي بنية بيانات مفيدة بشكل لا يصدق ستجد نفسك تصل إليها كثيرًا في مساعيك البرمجية. تسمح قدرتهم الفريدة على تعيين المفاتيح للقيم الخاصة بكل منها بالوصول السريع والفعال والتعليمات البرمجية المبسطة عند إدارة مجموعات البيانات المعقدة.

قواميس بايثون هي في الأساس تطبيق للمصفوفات الترابطية. أنها توفر طريقة مرنة وفعالة لتخزين ومعالجة البيانات في شكل أزواج مفتاح القيمة.

إنها متعددة الاستخدامات ويمكن أن تستوعب المجموعات القابلة للتغيير والمرتبة دون السماح بالمفاتيح المكررة.

بينما نتعمق في قواميس Python في هذه المقالة ، ستجدها أدوات قوية لتنظيم بياناتك والوصول إليها.

لذا ، تأكد من التعرف على خصوصيات وعموميات قواميس بايثون لإطلاق العنان لإمكاناتها الكاملة في مشاريعك!

قاموس بايثون - كل ما تحتاج إلى معرفته

جدول المحتويات

فهم قواميس بايثون

القاموس في Python هو بنية بيانات قوية ومرنة تسمح لك بتخزين مجموعة من أزواج المفتاح والقيمة. فكر في القاموس كطريقة لتعيين المفاتيح للقيم المقابلة لها ، مما يسهل استرداد المعلومات المتعلقة بمعرف معين.

لإنشاء قاموس ، يمكنك استخدام الأقواس المتعرجة ( {} ) لتضمين قائمة مفصولة بفواصل لأزواج القيمة والمفتاح. على سبيل المثال:

your_dict = {"key1": "value1", "key2": "value2", "key3": "value3"}

ضع في اعتبارك أن القواميس في Python قابلة للتغيير ، مما يعني أنه يمكنك تعديل محتوياتها بعد إنشائها. لإضافة زوج قيم مفتاح أو تحديثه ، ما عليك سوى استخدام الصيغة التالية:

your_dict["new_key"] = "new_value"

#You can also update an old key's value
your_dict["old_key"] = "new_value"

عندما يتعلق الأمر بالوصول إلى القيم في القاموس ، فأنت تحتاج فقط إلى المفتاح:

value = your_dict["key1"]

قاموس بايثون - كل ما تحتاج إلى معرفته

في حالة محاولة الوصول إلى مفتاح غير موجود في القاموس ، ستواجه خطأ KeyError. لتجنب ذلك ، يمكنك استخدام طريقة get ():

value = your_dict.get("non_existent_key", "default_value")

شيء واحد عليك أن تتذكره هو أن قاموس Python لا يمكن أن يحتوي على مفاتيح مكررة. يجب أن يكون كل مفتاح فريدًا وأن يكون من نوع بيانات غير قابل للتغيير.

على سبيل المثال ، يمكنك استخدام tuple أو String أو Integer أو حتى Boolean لمفتاحك. ومع ذلك ، لا يمكنك استخدام القوائم أو القواميس أو المجموعات.

لا توجد مثل هذه القيود على القيم. يمكنك استخدام كل من أنواع البيانات المتغيرة وغير القابلة للتغيير.

تتم إزالة عنصر من القاموس باستخدام الكلمة الأساسية del :

del your_dict["key1"]

كما أنها توفر عدة طرق للتكرار من خلال محتوياتها. على سبيل المثال ، يمكنك إجراء تكرار حلقي فوق مفاتيح القاموس أو القيم أو حتى كليهما:

for key in your_dict.keys():
    print(key)

for value in your_dict.values():
    print(value)

for key, value in your_dict.items():
    print(key, value)

يمكنك الآن استخدام أساليب وتقنيات القاموس هذه لتخزين البيانات واستردادها ومعالجتها بكفاءة أثناء العمل مع Python .

كيفية إنشاء قاموس بايثون

هناك طريقتان رئيسيتان يمكنك من خلالهما إنشاء قواميس بايثون: استخدام الأقواس المتعرجة ومُنشئ الدكت .

استخدام الأقواس المتعرجة

إحدى الطرق التي يمكنك استخدامها لإنشاء قاموس هي استخدام الأقواس المتعرجة ( {} ). لتهيئة قاموس فارغ ، يمكنك ببساطة استخدام blank_dict = {} .

لإنشاء قاموس بأزواج من المفاتيح والقيمة ، افصل بين المفاتيح والقيم بنقطتين. بعد ذلك ، افصل بين كل زوج بفاصلة:

python_dict = {
    'key1': 'value1',
    'key2': 'value2',
    'key3': 'value3'
}

باستخدام هذا التنسيق ، قمت بإنشاء قاموس Python بثلاثة أزواج من المفاتيح والقيمة. تذكر أن المفاتيح يجب أن تكون فريدة بينما يمكن تكرار قيم القاموس.

باستخدام Dict Constructor

هناك طريقة أخرى لإنشاء قاموس بايثون وهي استخدام دالة بناء الدكت () . لإنشاء قاموس فارغ ، ما عليك سوى استدعاء هذه الوظيفة بدون أي وسيطات: blank_dict =ict () .

لإنشاء قاموس باستخدام المُنشئ dt () ، يمكنك استخدام الصيغة التالية:

python_dict = dict(
    key1='value1',
    key2='value2',
    key3='value3'
)

تنشئ هذه الطريقة أيضًا قاموس Python بثلاثة عناصر ذات قيمة أساسية. لاحظ أنه ، على عكس طريقة الأقواس المتعرجة ، لا يتطلب مُنشئ الدكت () علامات اقتباس حول المفاتيح.

ومع ذلك ، لا تزال قيم القاموس تتطلب علامات اقتباس حولها

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

كيفية الوصول إلى عناصر القاموس

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

سنغطي طريقتين شائعتين: استخدام المفاتيح وطريقة get .

باستخدام المفاتيح

يعد استخدام المفاتيح من أبسط الطرق للوصول إلى عناصر القاموس. للحصول على قيمة مفتاح قاموس معين ، ما عليك سوى وضع المفتاح داخل أقواس مربعة بجوار اسم القاموس:

my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}
name_value = my_dict['name']

phone_value = mydict['phone-number']

في هذا المثال ، سيخزن name_value السلسلة "John" . لاحظ أنه إذا حاولت الوصول إلى مفتاح غير موجود ، فإن Python سترفع KeyError .

قاموس بايثون - كل ما تحتاج إلى معرفته

باستخدام طريقة Get

بديل لاستخدام المفاتيح مباشرة هو طريقة get () ، والتي تسمح لك بالوصول إلى عناصر القاموس دون المخاطرة بإثارة خطأ KeyError. بدلاً من ذلك ، يُرجع التابع get قيمة افتراضية إذا لم يتم العثور على المفتاح المحدد:

my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}
name_value = my_dict.get('name', 'Key not found')
country_value = my_dict.get('country', 'Key not found')

في هذا المثال ، سيخزن name_value السلسلة " John " كما كان من قبل لأن مفتاح " name " موجود في القاموس. ومع ذلك ، فإن country_value ستخزن القيمة الافتراضية " لم يتم العثور على المفتاح " لأن مفتاح " البلد " غير موجود في القاموس.

قاموس بايثون - كل ما تحتاج إلى معرفته

توفر طريقة get () طريقة أكثر مرونة للوصول إلى عناصر القاموس ، حيث تتيح لك التعامل مع المفاتيح المفقودة بأمان. يمكنك اختيار استخدام أي من الطريقتين وفقًا لمتطلباتك وإمكانية مواجهة مفاتيح غير موجودة.

كيفية تعديل عناصر القاموس

في هذا القسم ، ستتعلم كيفية تعديل العناصر داخل قاموس Python. هناك عمليتان أساسيتان لإنجاز ذلك: إضافة عناصر جديدة وتحديث العناصر الموجودة.

ستساعدك هاتان الطريقتان في الحفاظ على دقة وفائدة قاموسك. دعونا ننظر إليهم:

  1. إضافة عناصر جديدة

تعد إضافة عنصر جديد إلى القاموس أمرًا بسيطًا. للقيام بذلك ، حدد زوج القيمة الرئيسية الجديد باستخدام عامل تعيين ، مثل هذا:

your_dict = {"key1": "value1", "key2": "value2"}
your_dict["new_key"] = "new_value"

بعد تنفيذ مقتطف الشفرة أعلاه ، سيتضمن قاموسك الآن الزوج الجديد:

{"key1": "value1", "key2": "value2", "new_key": "new_value"}

يمكنك أيضًا إضافة أزواج متعددة من المفاتيح والقيمة مرة واحدة باستخدام طريقة التحديث () الخاصة بالقاموس

new_elements = {"key3": "value3", "key4": "value4"}
your_dict.update(new_elements)

الآن ، سيحتوي قاموسك على الإدخالات التالية:

{"key1": "value1", "key2": "value2", "key3": "value3", "key4": "value4"}
  1. تحديث العناصر الموجودة

لتحديث قيمة عنصر موجود ، ما عليك سوى الرجوع إلى المفتاح وتعيين قيمة جديدة له:

your_dict["key1"] = "updated_value1"

سينتج عن هذا التغيير القاموس التالي:

{"key1": "updated_value1", "key2": "value2", "key3": "value3", "key4": "value4"}

إذا كنت بحاجة إلى تحديث عناصر متعددة في وقت واحد ، فاستخدم طريقة التحديث () مرة أخرى. لاستخدامه ، قم بتمرير قاموس جديد يحتوي على التعديلات المطلوبة.

على سبيل المثال ، لنقم بتحديث قاموس your_dict بالقيم من قاموس التحديثات:

updates = {"key2": "updated_value2", "key4": "updated_value4"}
your_dict.update(updates)

مع تطبيق هذه التحديثات ، سيبدو قاموس your_dict كما يلي:

{"key1": "updated_value1", "key2": "updated_value2", "key3": "value3", "key4": "updated_value4"}

هذه العمليات هي أدوات أساسية عند العمل لأنها تسمح لك بالحفاظ على هياكل البيانات الخاصة بك محدثة ودقيقة.

حذف عناصر القاموس

في هذا القسم ، سوف نستكشف طريقتين شائعتين لحذف عناصر القاموس في بايثون: الكلمة الأساسية del وطريقة clear () .

  1. ديل الكلمة

تُستخدم الكلمة الأساسية del لإزالة زوج قيمة مفتاح معين من القاموس. يعمل في نفس المكان ويصدر خطأ KeyError إذا كان المفتاح غير موجود في القاموس. لحذف عنصر ، ما عليك سوى استخدام الصيغة التالية:

del my_dict[key]

على سبيل المثال ، إذا كنت تريد حذف مفتاح يسمى " العلامة التجارية " من قاموس يسمى my_dict ، فستكتب:

del my_dict["brand"]

ضع في اعتبارك أنه من الممارسات الجيدة التأكد من وجود المفتاح في القاموس قبل استخدام الكلمة الأساسية del. يمكنك القيام بذلك عن طريق التحقق مما إذا كان المفتاح موجودًا في القاموس:

if "brand" in my_dict:
    del my_dict["brand"]
  1. طريقة واضحة

طريقة clear () هي طريقة أخرى لحذف عناصر القاموس. تقوم هذه الطريقة بإزالة جميع مفاتيح القاموس والقيم في عملية واحدة ، مما ينتج عنه قاموس فارغ.

لاستخدام طريقة clear () في قاموسك ، اتصل بها ببساطة. على سبيل المثال ، إذا كان لديك قاموس موجود باسم my_dict وتريد إزالة جميع محتوياته ، فاكتب:

my_dict.clear()

في الختام ، لقد تعلمت طريقتين لحذف عناصر من قاموس Python: الكلمة الأساسية del لإزالة أزواج قيمة المفتاح الفردية وطريقة clear () لإفراغ قاموس كامل.

ما هي بعض طرق القاموس الشائعة؟

في هذا القسم ، سوف نستكشف بعض طرق قاموس بايثون الشائعة. ستساعدك هذه الطرق المضمنة في التعامل مع القواميس وتعديلها لتناسب احتياجاتك.

مفاتيح

لاسترداد جميع المفاتيح من قاموسك ، يمكنك استخدام طريقة المفاتيح () . سيؤدي هذا إلى إرجاع كائن عرض يحتوي على جميع مفاتيح القاموس.

على سبيل المثال:

your_dict = {'a': 1, 'b': 2, 'c': 3}
key_view = your_dict.keys()
print(key_view)
# Output: dict_keys(['a', 'b', 'c'])

قيم

وبالمثل ، تسمح لك طريقة القيم () بالحصول على جميع القيم المخزنة في القاموس. يتم تقديم هذا أيضًا ككائن عرض.

على سبيل المثال:

value_view = your_dict.values()
print(value_view)
# Output: dict_values([1, 2, 3])

أغراض

إذا كنت تريد الوصول إلى كل من المفاتيح والقيم في وقت واحد ، فاستخدم طريقة العناصر (). يؤدي هذا إلى إرجاع كائن عرض يحتوي على أزواج مفتاح-قيمة في شكل مجموعات.

لنلقي نظرة على مثال:

item_view = your_dict.items()
print(item_view)
# Output: dict_items([('a', 1), ('b', 2), ('c', 3)])

تحديث

تسمح لك طريقة update () بتعديل قاموسك عن طريق إضافة عناصر قيمة مفتاح أو تحديثها. لاستخدام هذه الطريقة ، يجب عليك توفير قاموس كوسيطة.

لدمج قاموسين أو تحديث مفاتيح معينة ، استخدم هذه الطريقة:

your_dict.update({'d': 4, 'e': 5})
print(your_dict)
# Output: {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}

فرقعة

باستخدام طريقة pop () ، يمكنك إزالة عنصر معين من القاموس. لاستخدامها ، قدم المفتاح المراد إزالته كوسيطة في الطريقة.

سيعيد التابع القيمة المرتبطة بالمفتاح المحدد ويزيله من القاموس:

removed_value = your_dict.pop('a')
print(removed_value)
# Output: 1
print(your_dict)
# Output: {'b': 2, 'c': 3, 'd': 4, 'e': 5}

بوبيتيم

تزيل طريقة popitem () آخر زوج من المفاتيح والقيمة في القاموس. تقوم بإرجاع مجموعة تحتوي على المفتاح والقيمة اللذين تمت إزالتهما. على سبيل المثال:

removed_item = your_dict.popitem()
print(removed_item)
# Output: ('e', 5)
print(your_dict)
# Output: {'b': 2, 'c': 3, 'd': 4}

باستخدام هذه الأساليب ، يمكنك إدارة القواميس الخاصة بك ومعالجتها بفعالية لتحقيق مجموعة متنوعة من المهام.

استخدام قواميس بايثون

في هذا القسم ، ستتعلم تقنيات مختلفة للعمل مع القواميس ، مثل الدوران فوقها ، واستخدام فهم القاموس ، والعمل باستخدام القواميس المتداخلة.

تكرار القواميس

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

هنا مثال:


my_dict = {"apple": 1, "banana": 2, "cherry": 3}

for key, value in my_dict.items():
    print(key, value)

بدلاً من ذلك ، يمكنك استخدام أساليب المفاتيح () والقيم () للتكرار إما على مفاتيح القاموس أو القيم حصريًا.

ما المقصود بفهم القاموس؟

تعد عمليات فهم القاموس طريقة موجزة لإنشاء قواميس باستخدام سطر واحد من التعليمات البرمجية. إنها تشبه قوائم الفهم ولكنها تعمل مع القواميس بدلاً من ذلك.

فيما يلي مثال على فهم القاموس الذي يربّع الأرقام من 1 إلى 5:


squared_numbers = {num: num**2 for num in range(1, 6)}

يمكن أن تكون عمليات فهم القاموس ذات قيمة عالية لمهام مثل تصفية القواميس أو تحويل قيمها.

ما هي القواميس المتداخلة؟

القواميس المتداخلة هي قواميس تحتوي على قواميس أخرى كقيم. يمكن استخدامها لتمثيل هياكل البيانات الهرمية المعقدة.

فيما يلي مثال على قاموس متداخل:


nested_dict = {
    "person1": {"name": "Alice", "age": 30},
    "person2": {"name": "Bob", "age": 24}
}

للوصول إلى عنصر في قاموس متداخل ، استخدم الفهرسة المتعددة:


name_p1 = nested_dict["person1"]["name"]

يمكنك تحرير العناصر أو معالجتها في القواميس المتداخلة حسب الحاجة. تذكر أن تتعقب المفاتيح والمستويات المتداخلة عند العمل باستخدام قواميس متداخلة معقدة لتجنب الارتباك أو الأخطاء.

حالات استخدام القاموس الشائعة

قواميس Python متعددة الاستخدامات ، مما يتيح لك تنظيم وإدارة أنواع البيانات المختلفة. في هذا القسم ، سوف تستكشف بعض حالات الاستخدام الشائعة للقواميس ، مما سيعزز فهمك ويساعدك على تنفيذها بشكل فعال في مشاريعك.

1. تخزين بيانات القيمة الرئيسية : تعتبر القواميس مثالية لتخزين البيانات بمفاتيح فريدة وقيم مرتبطة بها ، مثل أسماء المستخدمين ومعلومات المستخدم أو معرّفات المنتج وتفاصيل المنتج:

{
  "username1": {"name": "Alice", "email": "[email protected]"},
  "username2": {"name": "Bob", "email": "[email protected]"}
}

يمكن مشاهدة مثال على ذلك في هذا الفيديو حول كيفية إنشاء مجمّع أخبار Google في LuckyTemplates باستخدام Python.

https://youtu.be/InsDb_DR15E

في هذا الفيديو ، نستخدم قاموسًا لتخزين قيم البيانات التي تم الحصول عليها من استدعاء GoogleNews API.

2. عد التكرارات : يمكنك استخدام القواميس لحساب تكرارات العناصر ، مثل تكرار الكلمات في المستند. باستخدام المفاتيح لتمثيل العناصر الفريدة والقيم للإشارة إلى العدد ، يمكنك إدارة هذه البيانات بشكل فعال.

حقيقة ممتعة ، يمكنك القيام بذلك باستخدام فئة Counter في وحدة Python Collections. يأخذ في قائمة غير مرتبة ويعيد قاموسًا مع كل عنصر فريد كمفتاح وتردده كقيمة خاصة به.

3. تعيين مفاتيح لقيم متعددة : إذا كنت بحاجة إلى تخزين قيم متعددة لكل مفتاح قاموس ، فيمكنك استخدام القوائم أو المجموعات كقيم في قاموسك:

{
  "fruits": ["apple", "banana", "mango"],
  "vegetables": ["carrot", "broccoli", "spinach"]
}

4. التخزين المؤقت للنتائج المحسوبة : يمكن استخدام القواميس للتخزين المؤقت لنتائج العمليات المكلفة. هذا مفيد بشكل خاص في تقنيات الحفظ والبرمجة الديناميكية ، حيث تقوم بتخزين نتائج الحسابات لتجنب الحسابات الزائدة عن الحاجة.

5. إنشاء فهارس مقلوبة : في حالات مثل محركات البحث ، قد تحتاج إلى فهرس مقلوب يقوم بتعيين كل مصطلح بحث إلى قائمة من الموارد التي تحتوي على المصطلح. يتيح لك استخدام القواميس تخزين هذه البيانات بكفاءة:

{
  "python": ["resource1", "resource3"],
  "dictionary": ["resource2", "resource3", "resource4"]
}

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


ما هي الذات في بايثون: أمثلة من العالم الحقيقي

ما هي الذات في بايثون: أمثلة من العالم الحقيقي

ما هي الذات في بايثون: أمثلة من العالم الحقيقي

كيفية حفظ وتحميل ملف RDS في R.

كيفية حفظ وتحميل ملف RDS في R.

ستتعلم كيفية حفظ وتحميل الكائنات من ملف .rds في R. ستغطي هذه المدونة أيضًا كيفية استيراد الكائنات من R إلى LuckyTemplates.

تمت إعادة النظر في أول N أيام عمل - حل لغة ترميز DAX

تمت إعادة النظر في أول N أيام عمل - حل لغة ترميز DAX

في هذا البرنامج التعليمي للغة ترميز DAX ، تعرف على كيفية استخدام وظيفة الإنشاء وكيفية تغيير عنوان القياس ديناميكيًا.

اعرض الرؤى باستخدام تقنية المرئيات الديناميكية المتعددة الخيوط في LuckyTemplates

اعرض الرؤى باستخدام تقنية المرئيات الديناميكية المتعددة الخيوط في LuckyTemplates

سيغطي هذا البرنامج التعليمي كيفية استخدام تقنية Multi Threaded Dynamic Visuals لإنشاء رؤى من تصورات البيانات الديناميكية في تقاريرك.

مقدمة لتصفية السياق في LuckyTemplates

مقدمة لتصفية السياق في LuckyTemplates

في هذه المقالة ، سأقوم بتشغيل سياق عامل التصفية. يعد سياق عامل التصفية أحد الموضوعات الرئيسية التي يجب على أي مستخدم LuckyTemplates التعرف عليها في البداية.

أفضل النصائح في استخدام التطبيقات في خدمة LuckyTemplates عبر الإنترنت

أفضل النصائح في استخدام التطبيقات في خدمة LuckyTemplates عبر الإنترنت

أريد أن أوضح كيف يمكن لخدمة تطبيقات LuckyTemplates عبر الإنترنت أن تساعد في إدارة التقارير والرؤى المختلفة التي تم إنشاؤها من مصادر مختلفة.

تحليل تغييرات هامش الربح بمرور الوقت - التحليلات باستخدام LuckyTemplates و DAX

تحليل تغييرات هامش الربح بمرور الوقت - التحليلات باستخدام LuckyTemplates و DAX

تعرف على كيفية إجراء تغييرات في هامش الربح باستخدام تقنيات مثل قياس التفرع والجمع بين صيغ DAX في LuckyTemplates.

أفكار التجسيد لذاكرة التخزين المؤقت للبيانات في DAX Studio

أفكار التجسيد لذاكرة التخزين المؤقت للبيانات في DAX Studio

سيناقش هذا البرنامج التعليمي أفكار تجسيد مخازن البيانات وكيفية تأثيرها على أداء DAX ​​في توفير النتائج.

إعداد تقارير الأعمال باستخدام LuckyTemplates

إعداد تقارير الأعمال باستخدام LuckyTemplates

إذا كنت لا تزال تستخدم Excel حتى الآن ، فهذا هو أفضل وقت لبدء استخدام LuckyTemplates لاحتياجات إعداد تقارير الأعمال الخاصة بك.

ما هي بوابة LuckyTemplates؟ كل شيئ ترغب بمعرفته

ما هي بوابة LuckyTemplates؟ كل شيئ ترغب بمعرفته

ما هي بوابة LuckyTemplates؟ كل شيئ ترغب بمعرفته