قائمة مقابل Tuple: الفرق بين القائمة و Tuple

نشرت: 2021-01-08

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

على الرغم من وجود العديد من الاختلافات بين القائمة و tuple ، إلا أن هناك بعض أوجه التشابه أيضًا ، على النحو التالي:

  • بنيتا البيانات هما نوعان من أنواع بيانات التسلسل التي تخزن مجموعات من العناصر.
  • يمكن تخزين العناصر من أي نوع بيانات فيها.
  • يمكن الوصول إلى العناصر من خلال فهرسهم.

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

قائمة مقابل Tuple

يتضمن الجدول أدناه الاختلاف الأساسي بين list و tuple في Python.

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

نادرًا ما تحدث أخطاء وتغييرات غير متوقعة في المجموعات.

توفر الأقسام التالية إصدارًا تفصيليًا من list vs tuple لفهم أفضل.

الاختلاف في النحو

كما هو مذكور في المقدمة ، يختلف بناء جملة list و tuple. علي سبيل المثال:

list_num = [10 ، 20 ، 30 ، 40]

tup_num = (10، 20، 30، 40)

التحولية

واحدة من أهم الاختلافات بين القائمة و tuple هي أن القائمة قابلة للتغيير ، في حين أن المجموعة غير قابلة للتغيير. هذا يعني أنه يمكن تغيير القوائم ، ولا يمكن تغيير المجموعات.

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

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

تحقق من: Python vs Java

عمليات

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

المهام

يمكن تطبيق بعض وظائف Python على كل من هياكل البيانات ، مثل len و max و min و any و sum و all و Sorted.

بحجم

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

نوع العناصر

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

طول

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

تصحيح

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

القوائم والجداول المتداخلة

يمكن تخزين المجموعات في قوائم ، وبالمثل ، يمكن تخزين القوائم داخل المجموعات. في المجموعات المتداخلة ، يمكن أن تحتوي المجموعة على عدد أكبر من المجموعات. وفي القوائم المتداخلة ، يمكن أن تحتوي القائمة على المزيد من القوائم.

الاستخدامات

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

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

قراءة: المزيد من أنواع هياكل البيانات في Python

خاتمة

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

إذا كنت تقرأ هذا المقال ، فمن المرجح أن لديك طموحات لتصبح مطور Python. إذا كنت مهتمًا بتعلم Python وترغب في جعل يديك متسخًا في العديد من الأدوات والمكتبات ، تحقق من IIIT-B & upGrad's Executive PG Program in Data Science.

متى تكون قائمة Python مفضلة لتخزين البيانات؟

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

اذكر العمليات المختلفة لـ namedtuple.

يتم تنفيذ عمليات متعددة في بايثون. فيما يلي قائمة ببعض العمليات الأكثر شيوعًا التي يتم إجراؤها بواسطة المسمى tuple - الوصول حسب الفهرس ، الوصول حسب اسم المفتاح ، make () ، _asadict () ، باستخدام عامل التشغيل "**" (نجمة مزدوجة) ، _fileds () ، _replace ()، إلخ.

ما هي الطرق المختلفة لإنشاء قائمة؟

يمكن إنشاء قائمة بايثون بعدة طرق مذكورة هنا. استخدام حلقات for - حلقة for هي الطريقة الأكثر عنصرية لإنشاء قائمة. يمكن إنشاء قائمة باستخدام حلقة for بثلاث طرق بسيطة - إنشاء قائمة فارغة ، والتكرار على جميع العناصر التي سيتم إدراجها ، وإلحاق كل عنصر في القائمة باستخدام الوظيفة append (). باستخدام map (): يمكن استخدام وظيفة map () في Python بدلاً من ذلك لإنشاء قائمة. تقبل هذه الوظيفة معلمتين - الوظيفة: الوظيفة التي تمرر إليها الخريطة كل قابل للتكرار وقابل للتكرار: العنصر أو العنصر القابل للتكرار المطلوب تعيينه. استخدام List Comprehensions: هذه الطريقة هي الأكثر تحسينًا من بين الطرق الثلاثة. بينما في الطرق المذكورة أعلاه ، يجب إنشاء قائمة فارغة أولاً ، تسمح لك list comprehensions بإدراج جميع العناصر في القائمة باستخدام سطر واحد.