Ali Ahmed39 نشر 1 يوليو 2023 أرسل تقرير نشر 1 يوليو 2023 (معدل) السلام عليكم ما الفرق بين المصفوفات الأحادية و المصفوفات الثنائية و المصفوفات الثلاثية ؟ تم التعديل في 1 يوليو 2023 بواسطة Mustafa Suleiman تعديل عنوان السؤال 1 اقتباس
0 Mustafa Suleiman نشر 1 يوليو 2023 أرسل تقرير نشر 1 يوليو 2023 أولاً كل المصفوفات هي قائمة list ولكن يختلف العمق بناءًا على وجود مصفوفات أخرى داخل القائمة. إذا كنت تقصد في لغة بايثون فالفرق كالتالي: 1- المصفوفات الأحادية (Unidimensional Arrays) تعرف أيضًا باسم قوائم (Lists). مكونة من مجموعة مرتبة من العناصر في صف واحد فقط. يتم الوصول إلى العناصر بواسطة مؤشر يشير إلى الموضع الذي تمثله العناصر في القائمة. مثال: my_list = [1, 2, 3, 4, 5] print(my_list[0]) # العنصر في الموضع الأول، الناتج: 1 print(my_list[2]) # العنصر في الموضع الثالث، الناتج: 3 مؤشر (index) يشير إلى الموضع الذي ترغب في الوصول إليه. 2- المصفوفات الثنائية (Bidimensional Arrays) تُعرف باسم المصفوفات ذات البُعدين (2D Arrays) أو الجداول (Tables). تتكون من صفوف وأعمدة، حيث تحتوي على مجموعة من العناصر المترابطة في صفوف وأعمدة. نستطيع أن نصل العناصر باستخدام مؤشرين يُحددان الموقع الذي تتواجد فيه العناصر في الجدول. مثال: my_table = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] print(my_table[0][0]) # العنصر في الموضع (0, 0)، الناتج: 1 print(my_table[1][2]) # العنصر في الموضع (1, 2)، الناتج: 6 نستخدم اثنين من المؤشرات، الأول يحدد الموضع في الصفوف (رقم الـ array) والثاني يحدد الموضع في الأعمدة (مكانه في الـ array). 3- المصفوفات الثلاثية (Tridimensional Arrays) يطلق عليها المصفوفات ذات الأبعاد الثلاث (3D Arrays). تتكون من مجموعة من العناصر المترابطة في صفوف وأعمدة وعمق. نصل إلى العناصر باستخدام ثلاثة مؤشرات تحدد الموقع الذي تتواجد فيه العناصر في المصفوفة الثلاثية. مثال: my_3d_array = [[[1, 2], [3, 4]], [[5, 6], [7, 8]]] print(my_3d_array[0][0][0]) # العنصر في الموضع (0, 0, 0)، الناتج: 1 print(my_3d_array[1][0][1]) # العنصر في الموضع (1, 0, 1)، الناتج: 6 تستخدم ثلاثة مؤشرات، الأول يحدد الموضع في الصفوف، الثاني يحدد الموضع في الأعمدة، والثالث يحدد الموضع في العمق. بمعنى: my_3d_array[1] تشير إلى العنصر في المؤشر 1 في المصفوفة الثلاثية. هنا، أي المصفوفة: [[5, 6], [7, 8]] my_3d_array[1][0] تعني العنصر في المؤشر 0 في المصفوفة [[5, 6], [7, 8]] بمعنى المصفوفة: [5, 6] my_3d_array[1][0][1] وهنا نعني العنصر في المؤشر 1 في المصفوفة: [5, 6] أي أنه يشير إلى العنصر 6. 1 اقتباس
0 عبدالباسط ابراهيم نشر 1 يوليو 2023 أرسل تقرير نشر 1 يوليو 2023 هناك فروقات أخرى بين المصفوفات الأحادية والثنائية والثلاثية، بالإضافة إلى استخداماتهما المختلفة. وهذا يعتمد على طبيعة البيانات التي يتعامل معها المستخدم ونوع العمليات التي يريد تنفيذها. المصفوفات الأحادية: تستخدم المصفوفات الأحادية لتخزين بيانات على شكل قائمة واحدة، حيث يتم تخزين العناصر في صف واحد فقط. وتتميز هذه المصفوفات بأنها سهلة الاستخدام والفهرسة، كما تتطلب مساحة تخزين أقل بكثير مقارنة بالمصفوفات ذات الأبعاد الأعلى.ويمكن استخدام المصفوفات الأحادية في العديد من التطبيقات، مثل تخزين الأسماء والأرقام والنصوص والمفاتيح. وتستخدم أيضًا في العمليات الحسابية البسيطة مثل الجمع والطرح والضرب والقسمة. students = ["Ahmed", "Sara", "Khalid", "Fatima", "Ali"] المصفوفات الثنائية: تستخدم المصفوفات الثنائية عادةً لتخزين بيانات على شكل جدول، حيث تحتوي على عدة صفوف وأعمدة. وتتميز هذه المصفوفات بأنها تسمح بتخزين العديد من العناصر بسهولة وفعالية، وتسمح بالوصول إلى العناصر بسهولة باستخدام الفهرسة.ويمكن استخدام المصفوفات الثنائية في العديد من التطبيقات، مثل تخزين البيانات الرقمية والجداول والصور والبيانات الإحصائية. وتستخدم في العمليات الإحصائية والحسابية الأكثر تعقيدًا، مثل المصفوفات المعكوسة وحساب المتوسط والانحراف المعياري. لنفترض أن لدينا مصفوفة تحتوي على درجات طلاب مادة الرياضيات في الصف الأول، يمكن تخزين هذه الدرجات في مصفوفة ثنائية الأبعاد كالتالي: math_grades = [[80, 85, 90], [75, 70, 85], [90, 95, 80], [85, 90, 75], [70, 80, 90]] ويمكن الوصول إلى العناصر في المصفوفة باستخدام الفهرسة، مثل: print(math_grades[0][1]) # output: 85 print(math_grades[3][2]) # output: 75 ويمكن استخدام المصفوفات الثنائية في العمليات الحسابية المعقدة، مثل حساب متوسط الدرجات، كالتالي: for grades in math_grades: avg_grade = sum(grades) / len(grades) print(avg_grade) المصفوفات الثلاثية: تستخدم المصفوفات الثلاثية عادةً لتخزين بيانات ثلاثية الأبعاد، حيث تحتوي على صفوف وأعمدة وعمق. وتتميز هذه المصفوفات بأنها تسمح بتخزين البيانات بشكل ثلاثي الأبعاد، مثل الفيديو والبيانات الثلاثية الأبعاد والمجسمات الثلاثية الأبعاد.ويمكن استخدام المصفوفات الثلاثية في العديد من التطبيقات، مثل تحويل الصور الثنائية الأبعاد إلى صور ثلاثية الأبعاد وتحليل المجسمات الثلاثية الأبعاد. وتستخدم في العمليات الحسابية الثلاثية الأبعاد، مثل تحليل المجسمات الثلاثية الأبعاد وتحويل الصور الثنائية الأبعاد إلى صور ثلاثية الأبعاد. colors = [[[255, 0, 0], [0, 255, 0], [0, 0, 255]], [[255, 255, 0], [255, 0, 255], [0, 255, 255]], [[128, 128, 128], [0, 0, 0], [255, 255, 255]]] 1 اقتباس
0 Ali Ahmed39 نشر 1 يوليو 2023 الكاتب أرسل تقرير نشر 1 يوليو 2023 بتاريخ 3 ساعة قال Mustafa Suleiman: أولاً كل المصفوفات هي قائمة list ولكن يختلف العمق بناءًا على وجود مصفوفات أخرى داخل القائمة. إذا كنت تقصد في لغة بايثون فالفرق كالتالي: 1- المصفوفات الأحادية (Unidimensional Arrays) تعرف أيضًا باسم قوائم (Lists). مكونة من مجموعة مرتبة من العناصر في صف واحد فقط. يتم الوصول إلى العناصر بواسطة مؤشر يشير إلى الموضع الذي تمثله العناصر في القائمة. مثال: my_list = [1, 2, 3, 4, 5] print(my_list[0]) # العنصر في الموضع الأول، الناتج: 1 print(my_list[2]) # العنصر في الموضع الثالث، الناتج: 3 مؤشر (index) يشير إلى الموضع الذي ترغب في الوصول إليه. 2- المصفوفات الثنائية (Bidimensional Arrays) تُعرف باسم المصفوفات ذات البُعدين (2D Arrays) أو الجداول (Tables). تتكون من صفوف وأعمدة، حيث تحتوي على مجموعة من العناصر المترابطة في صفوف وأعمدة. نستطيع أن نصل العناصر باستخدام مؤشرين يُحددان الموقع الذي تتواجد فيه العناصر في الجدول. مثال: my_table = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] print(my_table[0][0]) # العنصر في الموضع (0, 0)، الناتج: 1 print(my_table[1][2]) # العنصر في الموضع (1, 2)، الناتج: 6 نستخدم اثنين من المؤشرات، الأول يحدد الموضع في الصفوف (رقم الـ array) والثاني يحدد الموضع في الأعمدة (مكانه في الـ array). 3- المصفوفات الثلاثية (Tridimensional Arrays) يطلق عليها المصفوفات ذات الأبعاد الثلاث (3D Arrays). تتكون من مجموعة من العناصر المترابطة في صفوف وأعمدة وعمق. نصل إلى العناصر باستخدام ثلاثة مؤشرات تحدد الموقع الذي تتواجد فيه العناصر في المصفوفة الثلاثية. مثال: my_3d_array = [[[1, 2], [3, 4]], [[5, 6], [7, 8]]] print(my_3d_array[0][0][0]) # العنصر في الموضع (0, 0, 0)، الناتج: 1 print(my_3d_array[1][0][1]) # العنصر في الموضع (1, 0, 1)، الناتج: 6 تستخدم ثلاثة مؤشرات، الأول يحدد الموضع في الصفوف، الثاني يحدد الموضع في الأعمدة، والثالث يحدد الموضع في العمق. بمعنى: my_3d_array[1] تشير إلى العنصر في المؤشر 1 في المصفوفة الثلاثية. هنا، أي المصفوفة: [[5, 6], [7, 8]] my_3d_array[1][0] تعني العنصر في المؤشر 0 في المصفوفة [[5, 6], [7, 8]] بمعنى المصفوفة: [5, 6] my_3d_array[1][0][1] وهنا نعني العنصر في المؤشر 1 في المصفوفة: [5, 6] أي أنه يشير إلى العنصر 6. تمام , شكرااا ايوه كانت اقصد python طيب فيه فرق بين القاموس ومصفوف الثنائية في لغة python ؟ اقتباس
0 Kais Hasan نشر 1 يوليو 2023 أرسل تقرير نشر 1 يوليو 2023 لا يوجد أنواع من المصفوفات في بايثون، في بايثون لدينا ما يدعى باللائحة list، هذه اللائحة يمكنها أن تحوي أي غرض كان، سواء رقم، سلسلة نصية، لائحة أخرى، أو حتى تابع. بالتالي لا فكرة من التفريق بين لائحة أحادية و لائحة ثنائية، ﻷن اللائحة الثنائية ما هي إلا لائحة أحادية عناصرها لوائح، و بالتالي أصبح لدينا العمق اثنان و لهذا دعوناها بالثنائية و لكنها في النهاية مجرد لائحة. نفس الأمر ينطبق على اللوائح الثلاثية، يمكنك حتى الحصول على لوائح رباعية أو أكثر. 1 اقتباس
0 Ali Ahmed39 نشر 1 يوليو 2023 الكاتب أرسل تقرير نشر 1 يوليو 2023 بتاريخ 2 ساعة قال Kais Hasan: لا يوجد أنواع من المصفوفات في بايثون، في بايثون لدينا ما يدعى باللائحة list، هذه اللائحة يمكنها أن تحوي أي غرض كان، سواء رقم، سلسلة نصية، لائحة أخرى، أو حتى تابع. بالتالي لا فكرة من التفريق بين لائحة أحادية و لائحة ثنائية، ﻷن اللائحة الثنائية ما هي إلا لائحة أحادية عناصرها لوائح، و بالتالي أصبح لدينا العمق اثنان و لهذا دعوناها بالثنائية و لكنها في النهاية مجرد لائحة. نفس الأمر ينطبق على اللوائح الثلاثية، يمكنك حتى الحصول على لوائح رباعية أو أكثر. شكراااااا اقتباس
السؤال
Ali Ahmed39
السلام عليكم
ما الفرق بين المصفوفات الأحادية و المصفوفات الثنائية و المصفوفات الثلاثية ؟
تم التعديل في بواسطة Mustafa Suleimanتعديل عنوان السؤال
5 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.