التجميع في Python: كل ما تحتاج إلى معرفته

نشرت: 2021-04-09

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

تتحدث هذه المقالة عن مجموعة الوحدات في بايثون . تعمل المجموعة على تحسين الوظائف وهي البديل لحاويات Python المضمنة للأغراض العامة ، والقائمة ، والتعيين ، والصف.

تعد قوائم Python و tuples والمجموعات والقواميس هياكل بيانات يحددها المستخدم ، وكل منها يأتي بمجموعة من المزايا والعيوب الخاصة به.

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

وحدة بايثون

الوحدة النمطية هي ملف يحتوي على تعريفات وعبارات Python التي تنفذ مجموعة من الوظائف. يتم استخدام أمر الاستيراد لاستيراد الوحدات النمطية من الوحدات النمطية الأخرى. تحتوي لغة Python على العديد من الوحدات النمطية المدمجة.

دعنا الآن نصل إلى جوهر المقال ونتعلم مجموعة الوحدات في بايثون بالتفصيل.

المجموعة في بايثون

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

سنناقش الآن الحاويات المختلفة التي توفرها المجموعة في وحدة Python .

1. أمرت ديكت

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

مثال:

استيراد OrderedDict من المجموعات

d1 = المجموعات.

د 1 ['أ'] = 1

د 1 ['ب'] = 2

d1 ['C'] = 3

د 1 ['د'] = 4

لـ x ، v في d1.items ():

طباعة (س ، ت)

انتاج:

أ 1

ب 2

ج 3

د 4

2. deque ()

() Python deque هي قائمة محسنة تضيف وتزيل العناصر من كلا الطرفين.

مثال:

استيراد deque من المجموعات

list1 = ["أ" ، "ب" ، "ج"]

deq = deque (list1)

طباعة (deq)

انتاج:

deque (['a'، 'b'، 'c'])

3. العداد

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

مثال:

استيراد عداد من المجموعات

ج = عداد ()

list1 = [1،2،3،4،5،7،8،5،9،6،10]

عداد (list1)

عداد ({1: 5،2: 4})

list1 = [1،2،4،7،5،1،6،7،6،9،1]

ج = عداد (list1)

طباعة (ج [1])

انتاج:

3

وظائف العداد الإضافية

1. العناصر () الوظيفة

تقوم وظيفة العناصر () بإرجاع قائمة بالعناصر الموجودة في كائن العداد .

مثال:

ج = العداد ({1: 4،2: 3})

طباعة (قائمة (c.elements ()))

انتاج:

[1،1،1،1،2،2،2]

هنا ، يتم إنشاء كائن عداد باستخدام وسيطة القاموس. عدد التهمات لـ 1 هو 4 ، ولعدد 2 هو 3. يتم استدعاء عناصر الوظيفة () مع قيام الكائن c بإرجاع مكرر.

2. الدالة most_common ()

تقوم دالة Counter () Python بإرجاع قاموس غير مرتب بينما تقوم الدالة most_common () بفرزها حسب عدد كل عنصر.

مثال:

list = [1،2،3،4،5،5،5،7،3]

ج = عداد (قائمة)

طباعة (c.most_common ())

انتاج:

[((5،3) ، (1،1) ، (2،1) ، (3،2) ، (4،1) ، (7،1))]

هنا ، ترجع الدالة most_common قائمة مرتبة حسب عدد العناصر. 5 تأتي ثلاث مرات ؛ ومن ثم تأتي أولاً كعنصر من عناصر القائمة.

3. طرح دالة ()

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

مثال:

ج = عداد ({1: 2،2: 3})

الإخراج = {1: 1،2: 1}

c.subtract (الإخراج)

طباعة (ج)

انتاج:

عداد ({1: 1،2: 2})

4. كائنات مخطط السلسلة

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

مثال:

استيراد خريطة سلسلة من المجموعات

dict1 = {'w': 1، 'x': 2}

dict2 = {'y': 3. 'z': 4}

chain_map = ChainMap (ict1، Dict2)

طباعة (خرائط سلسلة خرائط)

انتاج:

[{'x': 2، 'w': 1}، {'y': 3، 'x': 4}]

5. Namedtuple

ترجع الدالة namedtuple () كائن مجموعة مع أسماء كل موضع في المجموعة. تم تقديمه للتخلص من مشكلة تذكر فهرس كل حقل في كائن tuple.

مثال:

استيراد مسمى مضاعف من المجموعات

الطالب = namedtuple ('Student'، 'firstname، lastname، age')

s1 = طالب ("توم" ، "تغيير" ، "12")

طباعة (s1.firstname)

انتاج:

الطالب (الاسم الأول = "توم" ، الاسم الأخير = "ألتر" ، العمر = "12")

في هذا المثال ، يمكنك الوصول إلى الحقول الخاصة بأي مثيل لفئة.

6. DefaultDict

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

مثال:

استيراد الديكت الافتراضي من المجموعات

num = defaultdict (int)

عدد ['واحد'] = 1

عدد ['اثنان'] = 2

طباعة (عدد ['ثلاثة'])

انتاج:

0

خاتمة

من المعروف أن التجميع في Python يؤدي إلى تحسين وحدة تجميع Python. تم تقديم المجموعات في الإصدار 2.4 من Python. يمكن توقع الكثير من التغييرات والتحسينات في الإصدارات اللاحقة. في هذه المقالة ، شرحنا المجموعات الست الموجودة في Python بأمثلة وطريقة تنفيذها باللغة. إنها من أهم المفاهيم من وجهة نظر المتعلم.

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

إذا كنت مهتمًا بالتعرف على Python و Data Science ، فراجع برنامج IIIT-B & upGrad's Executive PG في علوم البيانات الذي تم إنشاؤه للمهنيين العاملين ويقدم أكثر من 10 دراسات حالة ومشاريع ، وورش عمل عملية عملية ، وإرشاد مع خبراء الصناعة ، وجهاً لوجه مع موجهين في الصناعة ، وأكثر من 400 ساعة من التعلم والمساعدة في العمل مع الشركات الكبرى.

دورات علوم البيانات Lear عبر الإنترنت من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.

لماذا نحتاج إلى وحدة التجميع في بايثون؟

يوجد في Python بالفعل 4 أنواع من بيانات التجميع المضمنة. هذه القائمة هي list و tuple و Dictionary و set. ومع ذلك ، يتم استخدام حاويات البيانات هذه للأغراض العامة.
توضح النقاط التالية المزايا الرئيسية لاستخدام وحدة التجميع على حاويات البيانات المضمنة.
توفر وحدة التجميع الإصدار المتخصص من هذه الحاويات ، مثل namedtuple و OrderedDict و defaultdict و chainmap و counter ، وغيرها الكثير.
نظرًا لكونها أكثر تحسينًا ، فقد أثبتت هذه الحاويات أنها بديل أفضل لحاويات البيانات التقليدية مثل القائمة ، والصف ، والمجموعة.
تعتبر وحدة التجميع فعالة في التعامل مع البيانات المنظمة.
تستهلك حاويات البيانات مثل calledtuple ذاكرة أقل وتوفر عمليات محسّنة لتخزين البيانات وإدارتها.

ما هو الفرق بين القاموس والقاموس المرتب في بايثون؟

قاموس Python أو "Dict" عبارة عن بنية بيانات مضمنة في Python تُستخدم لتخزين مجموعة غير مرتبة من العناصر. على عكس هياكل بيانات Python الأخرى التي تخزن قيمًا مفردة ، تخزن بنية بيانات القاموس أزواج القيمة الرئيسية حيث يكون كل مفتاح فريدًا. لا يتذكر ترتيب الإدراج لأزواج القيمة والمفتاح ويتكرر خلال المفاتيح.
من ناحية أخرى ، يحتفظ القاموس المطلوب أو OrderedDict بمسار ترتيب الإدراج لأزواج القيمة والمفتاح. كما أنه يستهلك ذاكرة أكثر من القاموس العادي في Python بسبب تطبيق القائمة المرتبطة بشكل مضاعف. إذا قمت بحذف نفس المفتاح وإعادة إدخاله ، فسيتم إدراجه في موضعه الأصلي حيث يتذكر OrderedDict ترتيب الإدراج.

ما هي العمليات المختلفة لـ namedtuple؟

يتم تنفيذ عمليات متعددة في لغة Python. فيما يلي قائمة ببعض العمليات الأكثر شيوعًا التي يقوم بها الزوج الاسمي.
1. عمليات الوصول: الوصول عن طريق الفهرس: يمكن الوصول إلى العناصر الموجودة في القائمة المسماة من خلال فهارسها ، على عكس القاموس. الوصول بالاسم الرئيسي: الطريقة البديلة للوصول إلى العناصر هي من خلال اسمها الرئيسي.
2. عمليات التحويل: make (): تقوم هذه الوظيفة بإرجاع مسمى مضاعف. _asadict (): تعرض هذه الوظيفة قاموسًا مرتبًا تم إنشاؤه من القيم المعينة. باستخدام عامل التشغيل “**” (نجمة مزدوجة): تقوم هذه الوظيفة بتحويل قاموس Python إلى مسمى مضاعف.
3. عمليات إضافية: _fileds (): تقوم هذه الوظيفة بإرجاع جميع أسماء المفاتيح للمجموعة المسماة المحددة. _replace (): تأخذ هذه الوظيفة اسم مفتاح كوسيطة لها وتغير القيم المعينة لها.