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

ستغطي هذه المدونة أنواع بيانات التجميع المضمنة في Python جنبًا إلى جنب مع وحدة التجميع مع جميع هياكل بيانات التجميع المتخصصة.

تحتوي لغة برمجة Python على أربعة أنواع من بيانات التجميع- قائمة و مجموعات tuple و . لكن يأتي أيضًا مع وحدة مدمجة تُعرف باسم المجموعات التي تحتوي على هياكل بيانات متخصصة تغطي بشكل أساسي أوجه القصور في أنواع البيانات الأربعة. في هذه المدونة ، سنتصفح كل من هياكل البيانات المتخصصة بالتفصيل. فيما يلي المواضيع المغطاة في هذه المدونة:

ما هي المجموعات في بايثون؟

المجموعات في Python هي في الأساس أنواع بيانات حاوية ، وهي القوائم ، المجموعات ، المجموعات ، القاموس. لديهم خصائص مختلفة على أساس الإعلان والاستخدام.





  • يتم الإعلان عن القائمة بين قوسين مربعين ، وهي قابلة للتغيير ، وتخزن القيم المكررة ويمكن الوصول إلى العناصر باستخدام الفهارس.

    c vs c ++ vs java
  • يتم ترتيب المجموعة وهي غير قابلة للتغيير بطبيعتها ، على الرغم من إمكانية وجود إدخالات مكررة داخل المجموعة.



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

  • يحتوي القاموس على أزواج من القيم الرئيسية وهو قابل للتغيير بطبيعته. نستخدم الأقواس المربعة للإعلان عن القاموس.

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



هياكل جمع البيانات المتخصصة

المجموعات وحدة في بيثون تنفذ هياكل بيانات متخصصة توفر بديلًا لأنواع بيانات الحاوية المضمنة في Python. فيما يلي هياكل البيانات المتخصصة في وحدة المجموعات.

  1. مسمى ()
  2. و
  3. سلسلة خريطة
  4. عداد
  5. أمر ديكت
  6. الافتراضي
  7. UserDict
  8. قائمة المستخدم
  9. UserString

مسمى ()

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

كيف تعمل؟

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

من مجموعات استيراد اسمهtuple

انظر إلى الكود التالي لفهم كيف يمكنك استخدام namedtuple.

a = namedtuple ('course'، 'name، tech') s = a ('data science'، 'python') print (s) #the الناتج سيكون دورات (name = 'python'، tech = 'python')

كيفية إنشاء مسمى مضاعف باستخدام قائمة؟

s._make (['data science'، 'python']) # المخرجات ستكون كما كانت من قبل.

و

تُنطق deque كـ 'سطح' عبارة عن قائمة محسّنة لأداء الإدراج والحذف بسهولة.

كيف تعمل؟

#creating a deque من المجموعات استيراد deque a = ['d'، 'u'، 'r'، 'e'، 'k'] a1 = deque (a) print (a1) # الإخراج سيكون deque ([' d '،' u '،' r '،' e '،' k '])

الآن دعنا نلقي نظرة على كيفية إدراج وإزالة العناصر من deque.

a1.append ('a') print (a1) # سيكون الإخراج deque (['d'، 'u'، 'r'، 'e'، 'k'، 'a']) a1.appendleft (' e ') print (a1) # الإخراج سيكون deque ([' e '،' d '،' u '،' r '،' e '،' k '،' a '])

كما يجب أن يكون واضحًا ، يتم تحسين إدخال مكون باستخدام deque ، كما يمكنك إزالة المكونات أيضًا.

a1.pop () print (a1) # الإخراج سيكون deque (['e'، 'd'، 'u'، 'r'، 'e'، 'k']) a1.popleft () print (a1 ) # الناتج سيكون deque (['d'، 'u'، 'r'، 'e'، 'k'])

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

سلسلة خريطة

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

كيفية استخدام aws cli

كيف تعمل؟

من المجموعات ، استيراد ChainMap a = {1: 'edureka'، 2: 'python'} b = {3: 'data science'، 4: 'Machine Learning'} c = ChainMap (a، b) print (c) #the سيكون الإخراج هو ChainMap [{1: 'edureka'، 2: 'python'}، {3: 'data science'، 4: 'Machine Learning'}]

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

a1 = {5: 'AI'، 6: 'neural networks'} c1 = c.new_child (a1) print (c1) # سيكون الإخراج هو ChainMap [{1: 'edureka'، 2: 'python'}، { 3: 'علم البيانات' ، 4: 'التعلم الآلي'} ، {5: 'AI' ، 6: 'الشبكات العصبية'}]

عداد

إنها فئة فرعية من القاموس تُستخدم لحساب عدد العناصر القابلة للتلف.

كيف تعمل؟

من المجموعات import Counter a = [1،1،1،1،2،3،3،4،3،3،4] c = Counter (a) print (c) # the output سيكون Counter = ({1: 4 ، 2: 1 ، 3: 4 ، 4: 2})

بالإضافة إلى العمليات التي يمكنك إجراؤها على عداد القاموس لديه 3 عمليات أخرى يمكننا تنفيذها.

  1. دالة عنصر - تقوم بإرجاع قائمة تحتوي على جميع العناصر الموجودة في العداد.
  2. Most_common () - تقوم بإرجاع قائمة مرتبة مع عدد كل عنصر في العداد.
  3. طرح () - يأخذ كائنًا متكررًا كوسيطة ويخصم عدد العناصر في العداد.

أمر ديكت

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

كيف تعمل؟

من المجموعات import OrderedDict od = OrderedDict () od [1] = 'e' od [2] = 'd' od [3] = 'u' od [4] = 'r' od [5] = 'e' od [6] = 'k' من [7] = 'a' print (from) # سيكون الإخراج OrderedDict [(1، 'e')، (2، 'd')، (3، 'u')، (4، 'r')، (5، 'e')، (6، 'k')، (7، 'a')]

لا يهم القيمة التي يتم إدراجها في القاموس ، يتذكر OrderedDict الترتيب الذي تم إدخاله به ويحصل على الإخراج وفقًا لذلك. حتى لو قمنا بتغيير قيمة المفتاح. دعنا نقول ، إذا قمنا بتغيير قيمة المفتاح من 4 إلى 8 ، فلن يتغير الترتيب في الإخراج.

الافتراضي

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

كيف تعمل؟

من المجموعات import defaultdict d = defaultdict (int) # علينا تحديد النوع أيضًا. d [1] = 'edureka' d [2] = طباعة 'python' (d [3]) # ستعطي الناتج كـ 0 بدلاً من خطأ مفتاح.

UserDict

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

مجموعات فئة .UserDict ([بيانات أولية])

هذه الفئة تحاكي القاموس. يتم الاحتفاظ بمحتوى المثيل في قاموس عادي يمكن الوصول إليه باستخدام السمة 'data' للفئة UserDict. لا يتم الاحتفاظ بمرجع البيانات الأولية لاستخدامها لأغراض أخرى.

قائمة المستخدم

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

جاءت الحاجة إلى هذه الفئة من الحاجة إلى فئة فرعية مباشرة من القائمة. يصبح من الأسهل العمل مع هذه الفئة حيث تصبح القائمة الأساسية سمة.

مجموعات الفصل الدراسي. قائمة المستخدمين ([قائمة])

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

في هذه المدونة ، تعرفنا على هياكل البيانات المتخصصة التي تأتي مع وحدة المجموعات في لغة بايثون. يؤدي التحسين إلى أداء أفضل ونتائج محسّنة. الأمر نفسه ينطبق على مهنتنا ومهاراتنا أيضًا. إذا كنت ترغب في بدء تعلمك وتحسين طريقة إدراكك للبرمجة ، فقم بالتسجيل في edureka’s وأطلق العنان للإمكانيات اللانهائية مع بيثون.

هل لديك أي استفسار؟ أذكرها في التعليقات ، وسنعاود الاتصال بك في أقرب وقت ممكن.