insert() মেথড কী?
insert() পাইথন লিস্টের একটি মেথড যা নির্দিষ্ট ইনডেক্স পজিশনে একটি নতুন এলিমেন্ট ঢুকিয়ে দেয়। বাকি এলিমেন্টগুলো অটোমেটিকলি ডান দিকে শিফট হয়ে যায়।
সিনট্যাক্স
list_name.insert(index, element)
- index: কোথায় বসাবেন (০-ভিত্তিক ইনডেক্স)। নেগেটিভ ইনডেক্সও কাজ করে।
- element: যে আইটেমটি যোগ করবেন (যেকোনো টাইপ হয়তে পারে)।
ব্যবহারিক উদাহরণ
১. লিস্টের শুরুতে আইটেম যোগ করা
birds = ["Robin", "Collared Dove", "Great Tit", "Goldfinch", "Chaffinch"] birds.insert(0, "Starling") print(birds) # আউটপুট: ['Starling', 'Robin', 'Collared Dove', 'Great Tit', 'Goldfinch', 'Chaffinch']
২. লিস্টের মাঝপথে আইটেম যোগ করা
birds = ["Robin", "Collared Dove", "Great Tit", "Goldfinch", "Chaffinch"] birds.insert(2, "Blue Jay") # ২ নম্বর ইনডেক্সে (Great Tit-এর আগে) print(birds) # আউটপুট: ['Robin', 'Collared Dove', 'Blue Jay', 'Great Tit', 'Goldfinch', 'Chaffinch']
৩. নেগেটিভ ইনডেক্স ব্যবহার (শেষ থেকে গণনা)
birds = ["Robin", "Collared Dove", "Great Tit"] birds.insert(-1, "Sparrow") # লাস্ট এলিমেন্টের আগে print(birds) # ['Robin', 'Collared Dove', 'Sparrow', 'Great Tit']
৪. লিস্টের মধ্যে লিস্ট (নেস্টেড) যোগ করা
birds = [
["Robin", "Collared Dove"],
["Dunnock", "Long-tailed Tit"]
]
new_group = ["Song Thrush", "Grey Tit"]
birds.insert(1, new_group)
print(birds)
# আউটপুট: [['Robin', 'Collared Dove'], ['Song Thrush', 'Grey Tit'], ['Dunnock', 'Long-tailed Tit']]
insert() বনাম append() বনাম extend()
| মেথড | পজিশন | একাধিক আইটেম? | রিটার্ন ভ্যালু |
|---|---|---|---|
| insert(index, item) | নির্দিষ্ট ইনডেক্স | না (একক আইটেম) | None |
| append(item) | শেষে | না (একক আইটেম) | None |
| extend(iterable) | শেষে | হ্যাঁ | None |
পারফরম্যান্স নোট
insert(0, item) বা প্রথমে কোনো পজিশনে ইনসার্ট করলে O(n) টাইম লাগে কারণ সব এলিমেন্ট শিফট করতে হয়। বড় লিস্টে.bar-बার শুরুতে ইনসার্ট করতে হলে collections.deque ব্যবহার করুন (O(1) অ্যпен্ডলেফট)।
নিষ্কর্ষ
insert() মেথড লিস্টে নির্দিষ্ট লোকেশনে এলিমেন্ট যোগ করার জন্য অপরিহার্য। এটি ইন-প্লেস কাজ করে এবং যেকোনো ডেটা টাইপ (লিস্ট, টাপল, অবজেক্ট) ইনসার্ট করতে পারে। ইনডেক্স বাউন্ডের বাইরে দিলে (যেমন insert(100, x) এ ৫ এলিমেন্টের লিস্টে) এটি শুধু শেষে অ্যাপেন্ড করবে — এরর দিবে না।