مرحبًا بعودتك.
دعنا نواصل القوائم.
الآن ، حتى الآن هذه الأقواس المربعة ، رأيناها من قبل ، أليس كذلك؟
رأيناهم عند العمل بالخيوط.
وتمامًا مثل السلاسل النصية ، فإن القوائم متشابهة تمامًا من حيث أنه يمكننا استخدام تقسيم القائمة.
إذا كنت تتذكر مع تقطيع السلاسل ، فلدينا أشياء مثل hello وكنا قادرين على إسنادها إلى سلسلة ، دعنا نقول سلسلة
متغيرة ويمكننا عمل سلسلة ثم تقسيمها إلى شرائح.
لذا افعل شيئًا كهذا.
حيث كانت لدينا البداية والتوقف ثم الخطوة.
بحيث نبدأ عند فهرس الصفر وننتهي عند فهرس اثنين.
ثم اذهب واحدًا تلو الآخر.
لذا فإن قائمة التقطيع متاحة لنا أيضًا.
لذلك دعونا نجعل هذه البطاقة أكبر قليلاً.
ويمكنك في الواقع جعل الأشياء أكثر نظافة من خلال تنسيقها بهذه الطريقة.
حسنًا ، ما الذي يجب أن نضيفه إلى عربتنا؟
سنضيف أيضًا بعض الألعاب.
وبعد ذلك ، أتعلم ماذا؟
أمازون تعمل في مجال البقالة الآن.
لذلك دعونا نضيف بعض العنب اللذيذ.
رائع.
الآن ، لنفترض أنني أردت الحصول على كل عنصر في سلة التسوق.
حسنًا ، نحن ببساطة نفعل هذا.
ولدينا قائمتنا الكاملة.
لكن دعنا نستخدم بعض شرائح القائمة.
لنفترض أنني أردت الاستيلاء على العنصر الأول إلى العنصر الثاني.
إذا قمت بالنقر فوق تشغيل.
أحصل على دفاتر ونظارات شمسية.
ربما أرغب في المضي قدمًا حتى النهاية ، لكن أتخطى كل ثانية.
أحصل على دفاتر وألعاب.
بدأنا الصفر.
ننتقل إلى اللعب ونتقدم وننتهي.
رائع.
وهذا شيء رأيناه بالفعل عند التحدث بالأوتار.
ولكن هنا حيث تصبح مثيرة للاهتمام.
تذكر كيف قلت أن الأوتار غير قابلة للتغيير؟
هذا يعني أنه لا يمكننا تغييرها.
الصحيح.
وتحدثنا عن هذا عندما كان لدينا سلسلة مثل Hello.
لا أستطيع أن أحيي الصفر يساوي لنفترض Z.
سأواجه خطأ هنا.
أحصل على كائن str لا يدعم تعيين العنصر.
إنه غير قابل للتغيير.
لكن الشيء المثير للاهتمام في القوائم هو أنها قابلة للتغيير.
لذلك إذا قمت بتغيير عربة التسوق الخاصة بي في أمازون.
وأقول ذلك ، كما تعلم ، لا أريد حقاً أجهزة الكمبيوتر المحمولة.
لذا سألتقط العنصر الأول ، وهو أجهزة الكمبيوتر المحمولة.
وبدلاً من أجهزة الكمبيوتر المحمولة ، ماذا نريد؟
سنقول إننا نريد كمبيوتر محمول جديد.
إنها ترقية كبيرة.
عندما أطبع عربة أمازون هذه.
انظر إلى ذلك.
أنا قادر على تغيير هذه القائمة.
ولم يعطيني خطأ بهذا المعنى.
القوائم قابلة للتغيير.
نحن ببساطة نستبدل على رف كتب الذاكرة لدفاتر الكمبيوتر الخاصة بنا وأقول ، مرحبًا ، قم بتغييرها إلى كمبيوتر محمول
، وسمحوا لنا بفعل ذلك.
هذا رائع.
لكن دعنا نجرب شيئًا ما هنا.
ماذا لو أنشأت نسخة أخرى هنا وفي عربة Amazon ، سأستخدم تقسيم القائمة لنفترض أنني أريد
عنصرًا من فهرس واحد حتى فهرس الثلاثة.
دعونا نجري هذا ونرى ما سيحدث.
حاول وخمن.
هل هذا ما توقعته؟
دعنا نذهب من خلال هذا الرمز.
عندما نصل إلى السطر العاشر ، نحصل على عربة Amazon التي تم تحديثها باستخدام الكمبيوتر المحمول وأقوم بشراء العنصر
الأول.
اثنين ثلاثة.
هذه هي النظارات الشمسية.
لعبتان.
إذن ، صفر واحد ، اثنان.
ثم نتوقف عند ثلاثة.
فقط لجعل هذا أسهل للفهم.
لنبدأ بصفر هنا.
حتى نرى أن الكمبيوتر المحمول قد تغير.
ثم هنا في الثانية ، في السطر 11 ، نطبع عربة Amazon.
ولكن مع الاستمرار في الثانية.
هذه القائمة لم تتغير.
وذلك لأنه من خلال تقطيع القائمة ، نقوم بإنشاء قائمة جديدة.
نسخة جديدة من هذه القائمة.
لذلك نحن هنا بصدد إنشاء قائمة جديدة تمامًا حتى أتمكن من تخصيصها لسلة جديدة
متغيرة ستكون عربة أمازون.
ودعونا نفعل الشيء نفسه هنا.
والبطاقة الجديدة هي قائمة جديدة تمامًا من تلقاء نفسها.
يمكنني تغيير عربة جديدة.
دعنا نقول صفر في دعنا نقول العلكة.
وإذا قمت بطباعة هذا.
ترى أن؟
لدي قائمتان منفصلتان جديدتان ، لكن القائمة قابلة للتغيير لأنني أستطيع تغيير كل ما هو موجود في الفهرس
في أي وقت أريده.
وفي كل مرة نقوم فيها بتقطيع القوائم ، نقوم بإنشاء نسخة جديدة من تلك القائمة.
لكن لدي سؤال مخادع لك هنا.
ماذا يحدث إذا فعلت هذا فقط؟
إذا قمت بتشغيل هذا.
همم.
هل رأيت ذلك؟
بدلاً من تقسيم قائمتي ، قلت ببساطة إن البطاقة الجديدة ستساوي عربة Amazon.
وقمت بتغيير فهرس عربة جديد من صفر إلى مساوٍ للعلكة.
ولكن الآن تم تعديل عربة أمازون الخاصة بي أيضًا.
لماذا هذا؟
وهذا سؤال صعب بعض الشيء قد تواجهه في مقابلة.
والسبب هو أن الطريقة التي فعلتها تساوي الآن تعني أن عربة التسوق الجديدة ستساوي عربة
أمازون.
وماذا تساوي عربة أمازون؟
حسنًا ، تشير عربة Amazon إلى مكان ما في الذاكرة في أجهزتنا والتي تقول ، مرحبًا ، هذا ما هي عربة
Amazon.
لذلك لأننا هنا لا ننسخ القائمة.
بدلاً من ذلك ، نقول فقط ، مهلاً ، قيمة البطاقة الجديدة هي كل ما هو موجود في ذاكرة عربة Amazon.
نحن الآن عندما نقوم بتعديل عربة التسوق الجديدة ، فإننا ببساطة نغير عربة Amazon على طول طريق العودة من هنا.
لذلك هذا مفهوم مهم.
إذا كنت تريد ، دعنا نقول نسخ قائمة ، فأنت تفعل شيئًا كهذا.
حيث قمت بنسخ القائمة بأكملها.
وهذا شيء ستراه كثيرًا في قواعد الكود.
لكن هذا السطر يقول ، مرحبًا ، أريد إنشاء نسخة.
استخدم تقسيم القائمة لنسخ عربة Amazon هذه وستكون سلة التسوق الجديدة مساوية لذلك الآن إذا قمت بتشغيل هذا.
سترى أن عربة Amazon الأصلية تظل كما هي ، لكن العربة الجديدة أصبحت الآن شيئًا مختلفًا.
هذا مسكتك سريع يجب عليك فقط أن تعتاد عليه.
لكنه مفهوم مهم ، فكرة نسخ القائمة مقابل تعديلها.
وهو شيء سنستكشفه أكثر قليلاً في مقطعي الفيديو التاليين.
في الوقت الحالي ، خذ قسطًا من الراحة وسأراك في المرحلة التالية.
مع السلامة.