الانتقال إلى المحتوى الرئيسي

كيفية نسخ قائمة واحدة إلى بيثون آخر: دليل بسيط

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

الطريقة الأولى هي استخدام الشرائح. باستخدام الشرائح ، يمكننا إنشاء قائمة جديدة تحتوي على جميع عناصر قائمة أخرى. للقيام بذلك ، يجب علينا تحديد فهرس البداية على أنه 0 وفهرس النهاية ، والذي سيكون أكبر من حجم القائمة الأولى. على سبيل المثال ، إذا كانت لدينا قائمة 1 ، فيمكننا نسخها ببساطة عن طريق كتابة القائمة 2 = القائمة 1 [:]

الطريقة الثانية هي استخدام طريقة النسخ (). تقوم طريقة النسخ () بإنشاء نسخة سطحية من القائمة. هذا يعني أنه إذا تحورت عناصر القائمة ، فسيتم أيضا تعديل نسخة القائمة. لإنشاء نسخة من القائمة 1 ، يمكننا استخدام بناء الجملة التالي: القائمة 2 = القائمة 1.نسخة()

الطريقة الثالثة هي استخدام وظيفة القائمة (). تتيح لك هذه الطريقة إنشاء قائمة جديدة عن طريق نسخ عناصر من قائمة أخرى. للقيام بذلك ، نقوم بتمرير قائمة المصدر كوسيطة إلى وظيفة القائمة (). على سبيل المثال ، القائمة 2 = القائمة (القائمة 1)

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

  1. لماذا نسخ القائمة إلى بيثون?
  2. كيفية نسخ قائمة إلى بايثون آخر
  3. 1. باستخدام طريقة النسخ ()
  4. 2. باستخدام وظيفة الشريحة ()
  5. 3. باستخدام وظيفة القائمة ()
  6. طريقة النسخ ()
  7. مشغل التقطيع
  8. قائمة()
  9. طريقة فهم قائمة الطريقة
  10. وحدة النسخ
  11. وحدة ديبكوبي
  12. سؤال وجواب
  13. كيف يمكنني نسخ قائمة واحدة إلى أخرى في بيثون?
  14. ما هي الطريقة الأخرى التي يمكنني استخدامها لنسخ القوائم في بايثون?
  15. هل من الممكن استخدام عامل التعيين ( = ) لنسخ القوائم?
  16. ماذا يحدث إذا كنت تستخدم عامل التعيين ( = ) لنسخ القوائم?
  17. ما هي وظيفة أخرى يمكنني استخدامها لنسخ القوائم في بيثون?
  18. هل يمكنني استخدام وحدة نسخ لنسخ القوائم في بيثون?

لماذا نسخ القائمة إلى بيثون?

يعد نسخ قائمة في بايثون عملية مهمة يمكن أن يكون لها عدة أسباب:

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

كيفية نسخ قائمة إلى بايثون آخر

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

فيما يلي بعض الطرق لنسخ قائمة إلى قائمة أخرى في بايثون:

1. باستخدام طريقة النسخ ()

في قائمة أخرى ، يمكنك استخدام التعليمات البرمجية التالية:

القائمة 2 = القائمة 1.نسخة()

مثال:

القائمة 1 = [1 ، 2 ، 3]

القائمة 2 = القائمة 1.نسخة()

طباعة (القائمة 2) # الإخراج: [1 ، 2 ، 3]

2. باستخدام وظيفة الشريحة ()

، يمكنك استخدام الكود التالي:

القائمة 2 = القائمة 1 [:]

مثال:

القائمة 1 = [1 ، 2 ، 3]

القائمة 2 = القائمة 1 [:]

طباعة (القائمة 2) # الإخراج: [1 ، 2 ، 3]

3. باستخدام وظيفة القائمة ()

، يمكنك استخدام الكود التالي:

القائمة 2 = القائمة (القائمة 1)

مثال:

القائمة 1 = [1 ، 2 ، 3]

القائمة 2 = القائمة (القائمة 1)

طباعة (القائمة 2) # الإخراج: [1 ، 2 ، 3]

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

طريقة النسخ ()

في لغة برمجة بايثون ، يمكنك استخدام طريقة النسخ () لنسخ قائمة. تنشئ هذه الطريقة نسخة جديدة من القائمة ، بما في ذلك جميع عناصرها.

يبدو بناء جملة طريقة النسخ () كما يلي:

نسخة جديدة = قائمة أصلية.نسخة()

مثال:

1 = [1 ، 2 ، 3]

2 = 1.نسخة()

طباعة (2)

الناتج:

[1, 2, 3]

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

يمكن أيضا استخدام طريقة النسخ() لنسخ القوائم المتداخلة:

1= [1, [2, 3], 4]

2 = 1.نسخة()

طباعة (2)

الناتج:

[1, [2, 3], 4]

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

طريقة النسخ () هي طريقة بسيطة ومريحة لإنشاء نسخة من قائمة بلغة برمجة بايثون. لديها أداء جيد ويسمح لك بإنشاء نسخة مستقلة من القائمة.

مشغل التقطيع

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

يحتوي عامل التقطيع على بناء الجملة التالي:

قائمة جديدة = قائمة [البداية: النهاية]

أين:

  • نيوليست هو متغير الذي سيتم حفظ نسخة من القائمة.;
  • قائمة-اسم قائمة المصدر المراد نسخها;
  • البداية هي فهرس العنصر لبدء النسخ منه (شامل);
  • النهاية هي فهرس العنصر لإنهاء النسخ على (وليس بما في ذلك ذلك).

تبدأ فهارس عناصر القائمة من الصفر. إذا تم تحديد قيمة سالبة ، يتم حساب الفهرس من نهاية القائمة.

مثال:

قائمة = [1, 2, 3, 4, 5]

قائمة جديدة = قائمة [:]

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

يمكنك أيضا استخدام مشغلي التقطيع لنسخ جزء من القائمة:

قائمة = [1, 2, 3, 4, 5]

قائمة جديدة = قائمة [1: 3]

نتيجة لتنفيذ هذا الرمز ، سيتم حفظ نسخة من القائمة التي تحتوي على عناصر ذات فهارس من 1 إلى 3 (لا تشمل 3) في متغير القائمة الجديدة. أي أنه سيتم نسخ القيم [2 ، 3] إلى القائمة الجديدة.

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

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

يبدو مثل هذا:

قائمة جديدة = قائمة (كائن قابل للتكرار)

أين:

  • - المتغير الذي سيتم حفظ القائمة التي تم إنشاؤها;
  • - كائن قابل للتكرار سيتم نسخ عناصره إلى قائمة جديدة.

:

أرقام = (1, 2, 3, 4, 5)

قائمة جديدة = قائمة (أرقام)

طباعة (قائمة جديدة)

. ستكون نتيجة تنفيذ البرنامج:

[1, 2, 3, 4, 5]

يمكن استخدامها لإنشاء قائمة من سلسلة أو قائمة أخرى. على سبيل المثال:

سلسلة = " مرحبا ، العالم!"

قائمة جديدة = قائمة (سلسلة)

طباعة (قائمة جديدة)

أرقام = [1, 2, 3, 4, 5]

قائمة جديدة = قائمة (أرقام)

طباعة (قائمة جديدة)

نتيجة تنفيذ البرنامج:

['ح' ، 'ه' ، 'ل' ، 'ل' ، 'س', ',', ' ', ' ث ' ، 'س' ، 'ص' ، 'ل' ، 'د'،'!']

[1, 2, 3, 4, 5]

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

طريقة فهم القائمة

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

بناء جملة طريقة فهم القائمة هو كما يلي:

[التعبير عن عنصر في قائمة]

لنلق نظرة على أمثلة لاستخدام طريقة فهم القائمة لنسخ قائمة:

مثال 1:

# قائمة المصدر

من الأرقام = [1, 2, 3, 4, 5]

# نسخ قائمة باستخدام فهم القائمة

أرقام جديدة = [س إلى س بالأرقام]

# إخراج النتائج

طباعة ("القائمة الأصلية:" ، أرقام)

طباعة ("قائمة جديدة:" ، أرقام جديدة)

نتيجة تنفيذ التعليمات البرمجية:

القائمة الأصلية: [1, 2, 3, 4, 5]

قائمة جديدة: [1, 2, 3, 4, 5]

. لذلك حصلنا على نسخة من القائمة الأصلية.

المثال 2:

# قائمة المصدر

الفواكه = ["التفاح" ، "الموز" ، "البرتقال" ، "الكمثرى"]

# نسخ قائمة باستخدام فهم القائمة وإضافة البادئة"لذيذ"

ثمار جديدة = ["لذيذة" + فاكهة للفاكهة في الفاكهة]

# إخراج النتائج

طباعة ("القائمة الأصلية:" ، الفواكه)

طباعة ("قائمة جديدة:" ، ثمار جديدة)

نتيجة تنفيذ التعليمات البرمجية:

قائمة المصدر: ["تفاحة" ، "موز" ، "برتقالي" ، "كمثرى"]

قائمة جديدة: ["التفاح اللذيذ" ، "الموز اللذيذ" ، "البرتقال اللذيذ" ، "الكمثرى اللذيذ"]

. وهكذا ، تلقينا نسخة من القائمة الأصلية مع البادئة "لذيذ" المضافة.

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

وحدة النسخ

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

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

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

فيما يلي مثال على استخدام وحدة النسخ لنسخ قائمة:

استيراد نسخة

القائمة الأصلية = [1, 2, 3, [4, 5]]

نسخة ضحلة = نسخة.نسخة (القائمة الأصلية)

نسخة عميقة = نسخة.ديبكوبي (القائمة الأصلية)

نسخة ضحلة.إلحاق (6)

نسخة ضحلة [3].إلحاق (7)

طباعة (القائمة الأصلية) # [1, 2, 3, [4, 5, 7]]

طباعة (نسخة ضحلة) # [1, 2, 3, [4, 5, 7], 6]

طباعة (نسخة عميقة) # [1, 2, 3, [4, 5]]

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

يمكن أن يكون استخدام وحدة النسخ مفيدا جدا عندما تحتاج إلى إنشاء نسخ من الكائنات في بايثون. يسمح لك بالتحكم في كيفية نسخ الكائنات "بعمق" والتغييرات التي يتم تطبيقها على النسخ.

وحدة ديبكوبي

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

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

لاستخدام وحدة ديبكوبي ، تحتاج إلى استيراده من المكتبة القياسية:

استيراد نسخة

ثم يمكنك استخدام وظيفة ديبكوبي () لإنشاء نسخة عميقة من الكائن:

استيراد نسخة

القائمة الأصلية = [1 ، 2 ، 3]

قائمة جديدة = نسخ.ديبكوبي (القائمة الأصلية)

تحتوي القائمة الجديدة الآن على نسخة عميقة من القائمة الأصلية ، ولن تؤثر أي تغييرات يتم إجراؤها على أحدها على الآخر.

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

استخدام ديبكوبي () مفيد بشكل خاص عند العمل مع هياكل البيانات المتداخلة ، عندما تحتاج إلى إنشاء نسخة مستقلة من كائن للتلاعب والتعديل.

سؤال وجواب

كيف يمكنني نسخ قائمة واحدة إلى أخرى في بيثون?

هناك عدة طرق لنسخ قائمة في بايثون. واحدة من أسهل الطرق هي استخدام شريحة. على سبيل المثال: قائمة جديدة = قائمة قديمة [:]

ما هي الطريقة الأخرى التي يمكنني استخدامها لنسخ القوائم في بايثون?

هناك طريقة أخرى لنسخ القوائم وهي استخدام طريقة النسخ (). على سبيل المثال: قائمة جديدة = قائمة قديمة.نسخة()

هل من الممكن استخدام عامل التعيين ( = ) لنسخ القوائم?

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

ماذا يحدث إذا كنت تستخدم عامل التعيين ( = ) لنسخ القوائم?

إذا كنت تستخدم عامل التعيين ( = ) لنسخ القوائم ، فستنعكس التغييرات التي تم إجراؤها على قائمة واحدة أيضا في القائمة الأخرى. هذا لأنه عند استخدام عامل التعيين ، يتم إنشاء مرجع جديد فقط إلى القائمة الحالية.

ما هي وظيفة أخرى يمكنني استخدامها لنسخ القوائم في بيثون?

لنسخ القوائم في بيثون ، يمكنك استخدام وظيفة القائمة (). على سبيل المثال: قائمة جديدة = قائمة (قائمة قديمة)

هل يمكنني استخدام وحدة نسخ لنسخ القوائم في بيثون?

نعم ، يمكنك استخدام وحدة النسخ لنسخ القوائم في بايثون. تسمح لك طريقة النسخ العميق () من وحدة النسخ بإنشاء نسخة كاملة من القائمة ، بما في ذلك جميع العناصر المتداخلة. على سبيل المثال: استيراد نسخة جديدة_قائمة = نسخ . ديبكوبي (القائمة القديمة)