فهم الفرق بين وظائف numpy flatten و ravel ومع ذلك ، ينشأ سؤال: لماذا يكون لديك وظيفتان متميزتان يؤديان نفس المهمة؟ y = np.array (((1،2،3) ، (4،5،6) ، (7،8،9)))) طباعة (y.flatten ()) [1 2 3 4 5 6 7 8 9] طباعة (Y.Ravel ()) [1 2 3 4 5 6 7 8 9]
يقوم Flatten دائمًا بإنشاء نسخة من المصفوفة الأصلية ، بينما يقوم Ravel بإنشاء عرض للمصفوفة الأصلية كلما كان ذلك ممكنًا.
فوائد ravel
غالبًا ما يكون Ravel أسرع من Flatten لأنه لا يحتاج إلى تخصيص ذاكرة جديدة. بالإضافة إلى ذلك ، إذا قمت بتعديل الصفيف الذي تم إرجاعه بواسطة Ravel ، تنعكس التغييرات في الصفيف الأصلي. يمكن أن يكون هذا مفيدًا في بعض المواقف. إذا كان لا يمكن تقديم الصفيف الذي تم إرجاعه كعرض للمجموعة الأصلية ، فسيقوم Ravel بإنشاء نسخة. بالإضافة إلى ذلك ، يمكن أن يسبب تعديل الصفيف الذي تم إرجاعه بواسطة Ravel آثارًا جانبية غير متوقعة في الصفيف الأصلي. يعيد Flatten دائمًا نسخة ، بينما يقوم Ravel بإرجاع عرض كلما كان ذلك ممكنًا. من الضروري فهم الاختلافات في السلوك لتحديد الوظيفة المناسبة لاحتياجاتك المحددة.تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3