English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
يستعيد طريقة copy() نسخة سطحية من القائمة.
القائمةيمكن استنساخ الاستخدام=علماء الرياضيات. على سبيل المثال:
old_list = [1, 2, 3] new_list = old_list
مشكلة نسخ القائمة بهذه الطريقة هي أنه إذا تم تعديل new_list، فإن old_list سيتم تعديله أيضًا.
old_list = [1, 2, 3] new_list = old_list # إضافة عنصر إلى القائمة new_list.append('a') print('القائمة الجديدة:', new_list ) print('القائمة القديمة:', old_list )
عند تشغيل هذا البرنامج، يتم إظهار النتيجة كالتالي:
القائمة الجديدة: [1, 2, 3, 'a'] القائمة القديمة: [1, 2, 3, 'a']
لكن إذا كنت بحاجة إلى أن يبقى القائمة الأصلية كما هي عند تعديل القائمة الجديدة، يمكنك استخدام دالة copy(). يُسمى هذا النوع من النسخ نسخًا سطحية.
تكون صيغة دالة copy() كالتالي:
new_list = list.copy()
لا تحتاج دالة copy() إلى أي معاملات.
يعود دالة copy() إلى قائمة. لا تُغير القائمة الأصلية.
# مزج القائمة list = ['قطة', 0, 6.7] # نسخ قائمة new_list = list.copy() # إضافة عنصر إلى القائمة الجديدة new_list.append('كلب') # طباعة القائمة الجديدة والقائمة القديمة print('القائمة القديمة: ', list) print('قائمة جديدة: ', new_list)
عند تشغيل هذا البرنامج، يتم إظهار النتيجة كالتالي:
القائمة القديمة: ['قطة', 0, 6.7] قائمة جديدة: ['قطة', 0, 6.7, 'كلب']
يمكنك رؤية أن القائمة القديمة لا تتغير حتى لو تم تعديل القائمة الجديدة.
يمكنك أيضًا استخدام قطع لتحقيق نفس النتيجة:
# مزج القائمة list = ['قط', 0, 6.7] # نسخ قائمة باستخدام قطع new_list = list[:] # إضافة عنصر إلى القائمة الجديدة new_list.append('كلب') # طباعة القائمة الجديدة والقائمة القديمة print('القائمة القديمة: ', list) print('قائمة جديدة: ', new_list)
بعد التنفيذ، يتم إظهار النتيجة:
القائمة القديمة: ['قط', 0, 6.7] قائمة جديدة: ['قط', 0, 6.7, 'كلب']