Python Array vs List: ما هو الفرق

نشرت: 2022-06-20

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

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

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

هيا نكتشف!

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

ما هو Array in Python؟

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

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

تحقق من برامجنا في الولايات المتحدة - علوم البيانات

برنامج الشهادة المهنية في علوم البيانات وتحليلات الأعمال ماجستير العلوم في علوم البيانات ماجستير العلوم في علوم البيانات برنامج الشهادة المتقدمة في علوم البيانات
برنامج PG التنفيذي في علوم البيانات المعسكر التدريبي لبرمجة بايثون برنامج الشهادة المهنية في علوم البيانات لاتخاذ قرارات الأعمال برنامج متقدم في علوم البيانات

ما هي القائمة في بايثون؟

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

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

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

الفرق بين الصفيف والقائمة في بايثون

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

مجموعة مصفوفة

قائمة

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

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

صفيف أو قائمة: أيهما يستخدم؟

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

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

اقرأ مقالاتنا المشهورة حول علوم البيانات الأمريكية

دورة تحليل البيانات بشهادة دورة مجانية عبر الإنترنت لـ JavaScript مع شهادة أسئلة وأجوبة مقابلة Python الأكثر شيوعًا
أسئلة وأجوبة مقابلة محلل البيانات أعلى الخيارات الوظيفية لعلوم البيانات في الولايات المتحدة الأمريكية [2022] SQL مقابل MySQL - ما هو الفرق
الدليل النهائي لأنواع البيانات راتب مطور Python في الولايات المتحدة راتب محلل البيانات في الولايات المتحدة: متوسط ​​الراتب

عزز حياتك المهنية بشهادة عبر الإنترنت

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

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

عزز حياتك المهنية بشهادة عبر الإنترنت

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

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

وفقًا لقائمة Glassdoor لأفضل 50 وظيفة في أمريكا لعام 2022 ، فإن معظم وظائف علوم البيانات تتصدر المراكز العليا ، حيث يحتل علماء البيانات المرتبة الثالثة. ينتظر المستقبل نموًا هائلاً لطلاب علوم البيانات ، ويمكنك أن تكون جزءًا منه أيضًا! قم بزيارة upGrad لمعرفة المزيد عن هذه الدورة وغيرها الكثير المتاح!

استنتاج

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

ما هي حدود القائمة في بايثون؟

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

ما هي حدود Array في Python؟

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

هل القائمة في بايثون ديناميكية أم ثابتة؟

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