কম্পিউটার টিউটোরিয়াল

পাইথনে লিস্ট ক্লোন বা কপি কীভাবে করবেন?


পাইথনে অ্যাসাইনমেন্ট অপারেটর নতুন অবজেক্ট তৈরি করে না, বরং ইতিমধ্যে বিদ্যমান অবজেক্টের অন্য একটি নাম দেয়। এটাকে id() ফাংশন দিয়ে যাচাই করা যায়।

>>> L1 = [1,2,3,4]
>>> L2 = L1
>>> id(L1)
185117137928
>>> id(L2)
185117137928

আসল কপি করতে নিচের মেথডগুলো ব্যবহার করা যায়।

স্লাইস অপারেটর: স্লাইস অপারেটরের দুটি অপারেন্ড হলো স্লাইস শুরু এবং শেষের ইনডেক্স। একসপ্রেসলি না দিলে দুটোই ডিফল্ট হয় সিকোয়েন্সের শুরু ও শেষ। আমরা এই ফিচার ব্যবহার করতে পারি।

>>> L1 = [1,2,3,4]
>>> L2 = L1[:]
>>> L1
[1, 2, 3, 4]
>>> L2
[1, 2, 3, 4]
>>> id(L1)
185117025160
>>> id(L2)
185117171592

বিল্ট-ইন list() মেথড:

>>> L1 = [1,2,3,4]
>>> L2 = list(L1)
>>> L1
[1, 2, 3, 4]
>>> L2
[1, 2, 3, 4]
>>> id(L1)
185117295816
>>> id(L2)
185117209352

পাইথনের স্ট্যান্ডার্ড লাইব্রেরির copy মডিউলে অবজেক্টের শ্যালো এবং ডিপ কপির ফাংশন আছে। ডিপ কপি নেস্টেড কপি, শ্যালো কপিতে ইনার লিস্ট রেফারেন্স দিয়ে কপি হয়।

>>> import copy
>>> L1 = [1,2,3,4]
>>> L2 = copy.copy(L1)
>>> L1
[1, 2, 3, 4]
>>> L2
[1, 2, 3, 4]
>>> id(L1)
185117025160
>>> id(L2)
185117295880
>>> L3 = copy.deepcopy(L1)
>>> L3
[1, 2, 3, 4]
>>> id(L3)
185117304328
  1. পাইথনে খালি লিস্ট কীভাবে তৈরি করবেন?

  2. পাইথন টাপলে এলিমেন্ট অ্যাপেন্ড কীভাবে করবেন?

  3. পাইথনে লিস্ট কীভাবে ডিফাইন করবেন?

  4. পাইথনে স্ট্রিংয়ের লিস্ট সর্ট করা