পাইথনে একটি তালিকা (অ্যারে) থেকে উপাদানগুলি সরানো হচ্ছে: clear(), pop(), remove(), del

ব্যবসায়

পাইথনে টাইপ তালিকার একটি তালিকা (অ্যারে) থেকে একটি উপাদান সরাতে, তালিকা পদ্ধতিগুলি clear(), pop() এবং remove() ব্যবহার করুন। এছাড়াও আপনি সূচী বা স্লাইস ব্যবহার করে তালিকার অবস্থান এবং পরিসীমা নির্দিষ্ট করতে পারেন এবং তারপর ডেল স্টেটমেন্ট ব্যবহার করে এটি মুছে ফেলতে পারেন।

নিম্নলিখিত তথ্য এখানে প্রদান করা হয়.

  • সমস্ত উপাদান সরান:clear()
  • নির্দিষ্ট অবস্থানে একটি উপাদান মুছুন এবং এর মান পান।:pop()
  • নির্দিষ্ট মান সহ উপাদানগুলির জন্য অনুসন্ধান করে এবং প্রথম উপাদানটি সরিয়ে দেয়।:remove()
  • সূচক স্লাইসে অবস্থান এবং পরিসীমা নির্দিষ্ট করে মুছে ফেলা হচ্ছে:del
  • মানদণ্ড পূরণ করে এমন একাধিক উপাদান ব্যাচ মুছে ফেলুন।:তালিকা অন্তর্ভুক্তি ইঙ্গিত

মনে রাখবেন যে তালিকাগুলি বিভিন্ন ধরণের ডেটা সঞ্চয় করতে পারে এবং অ্যারে থেকে কঠোরভাবে আলাদা। অ্যারে (স্ট্যান্ডার্ড লাইব্রেরি) বা NumPy ব্যবহার করুন যখন আপনি মেমরি সাইজ বা মেমরি অ্যাড্রেসের প্রয়োজন হয় এমন প্রসেসগুলির জন্য অ্যারেগুলি পরিচালনা করতে চান বা বড়-স্কেল ডেটার সংখ্যাসূচক গণনার জন্য।

সমস্ত উপাদান সরান:clear()

তালিকা পদ্ধতি clear(), সমস্ত উপাদান মুছে ফেলা হয়, ফলে একটি খালি তালিকা হয়।

l = list(range(10))
print(l)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

l.clear()
print(l)
# []

নির্দিষ্ট অবস্থানে একটি উপাদান মুছুন এবং এর মান পান।:pop()

একটি তালিকার মেথড পপ() একটি নির্দিষ্ট অবস্থানে একটি উপাদান মুছে ফেলতে এবং সেই উপাদানটির মান পেতে ব্যবহার করা যেতে পারে।

প্রথম (প্রাথমিক) সংখ্যা 0।

l = list(range(10))
print(l)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

print(l.pop(0))
# 0

print(l)
# [1, 2, 3, 4, 5, 6, 7, 8, 9]

print(l.pop(3))
# 4

print(l)
# [1, 2, 3, 5, 6, 7, 8, 9]

শেষ (শেষ) থেকে অবস্থান নির্দিষ্ট করতে একটি নেতিবাচক মানও ব্যবহার করা যেতে পারে। শেষ (শেষ) হল -1।

print(l.pop(-2))
# 8

print(l)
# [1, 2, 3, 5, 6, 7, 9]

যদি যুক্তিটি বাদ দেওয়া হয় এবং কোন অবস্থান নির্দিষ্ট করা না থাকে, তাহলে শেষে (শেষের) উপাদানটি মুছে ফেলা হয়।

print(l.pop())
# 9

print(l)
# [1, 2, 3, 5, 6, 7]

একটি অস্তিত্বহীন অবস্থান নির্দিষ্ট করার ফলে একটি ত্রুটি হবে৷

# print(l.pop(100))
# IndexError: pop index out of range

মনে রাখবেন যে pop(0), যা প্রথম উপাদানটি সরিয়ে দেয়, এর জন্য নিম্নলিখিত খরচ প্রয়োজন এবং এটি একটি কার্যকর অপারেশন নয়। তালিকার বিভিন্ন ক্রিয়াকলাপের গণনাগত জটিলতার জন্য অফিসিয়াল উইকিতে নিম্নলিখিত পৃষ্ঠাটি দেখুন।
O(n)

O(1)ডেক টাইপ স্ট্যান্ডার্ড লাইব্রেরি কালেকশন মডিউলে এমন একটি টাইপ হিসাবে দেওয়া হয় যা এই খরচে উপরের উপাদানগুলিকে মুছে দেয়। উদাহরণস্বরূপ, আপনি যদি ডেটাকে সারি (FIFO) হিসাবে বিবেচনা করতে চান তবে এটি deque ব্যবহার করা আরও কার্যকর।

নির্দিষ্ট মান সহ উপাদানগুলির জন্য অনুসন্ধান করে এবং প্রথম উপাদানটি সরিয়ে দেয়।:remove()

তালিকা পদ্ধতি রিমুভ() নির্দিষ্ট করা একই মান সহ উপাদানগুলি অনুসন্ধান করতে এবং প্রথম উপাদানটি সরাতে ব্যবহার করা যেতে পারে।

l = ['Alice', 'Bob', 'Charlie', 'Bob', 'Dave']
print(l)
# ['Alice', 'Bob', 'Charlie', 'Bob', 'Dave']

l.remove('Alice')
print(l)
# ['Bob', 'Charlie', 'Bob', 'Dave']

যদি তালিকায় একাধিক উপাদান থাকে যা নির্দিষ্ট মানের সাথে মেলে তবে শুধুমাত্র প্রথমটি সরানো হবে।

l.remove('Bob')
print(l)
# ['Charlie', 'Bob', 'Dave']

যদি একটি অস্তিত্বহীন মান নির্দিষ্ট করা হয়, একটি ত্রুটি ঘটে।

# l.remove('xxx')
# ValueError: list.remove(x): x not in list

সূচক স্লাইসে অবস্থান এবং পরিসীমা নির্দিষ্ট করে মুছে ফেলা হচ্ছে:del

আপনি তালিকা থেকে উপাদানগুলি সরাতে del স্টেটমেন্টও ব্যবহার করতে পারেন।

সূচী দ্বারা মুছে ফেলা উপাদান নির্দিষ্ট করুন. প্রথম (প্রাথমিক) সূচক হল 0, এবং শেষ (চূড়ান্ত) সূচক হল -1।

l = list(range(10))
print(l)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

del l[0]
print(l)
# [1, 2, 3, 4, 5, 6, 7, 8, 9]

del l[-1]
print(l)
# [1, 2, 3, 4, 5, 6, 7, 8]

del l[6]
print(l)
# [1, 2, 3, 4, 5, 6, 8]

আপনি যদি স্লাইস সহ একটি পরিসর নির্দিষ্ট করেন, আপনি একবারে একাধিক উপাদান মুছে ফেলতে পারেন।

l = list(range(10))
print(l)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

del l[2:5]
print(l)
# [0, 1, 5, 6, 7, 8, 9]

l = list(range(10))
del l[:3]
print(l)
# [3, 4, 5, 6, 7, 8, 9]

l = list(range(10))
del l[4:]
print(l)
# [0, 1, 2, 3]

l = list(range(10))
del l[-3:]
print(l)
# [0, 1, 2, 3, 4, 5, 6]

সম্পূর্ণ পরিসীমা নির্দিষ্ট করা এবং সমস্ত উপাদান মুছে ফেলাও সম্ভব।

l = list(range(10))
del l[:]
print(l)
# []

[start:stop:step]আপনি যদি এইভাবে স্লাইসে পরিসীমা নির্দিষ্ট করেন এবং ক্রমবর্ধমান ধাপ নির্দিষ্ট করেন, আপনি একবারে একাধিক জাম্পিং উপাদান মুছে ফেলতে পারেন।

l = list(range(10))
del l[2:8:2]
print(l)
# [0, 1, 3, 5, 7, 8, 9]

l = list(range(10))
del l[::3]
print(l)
# [1, 2, 4, 5, 7, 8]

স্লাইসিং সম্পর্কে আরও তথ্যের জন্য, নিম্নলিখিত নিবন্ধটি দেখুন।

মানদণ্ড পূরণ করে এমন একাধিক উপাদান ব্যাচ মুছে ফেলুন।:তালিকা অন্তর্ভুক্তি ইঙ্গিত

শর্তগুলিকে সন্তুষ্ট করে এমন উপাদানগুলিকে অপসারণের প্রক্রিয়াটি শর্তগুলিকে সন্তুষ্ট করে না এমন উপাদানগুলিকে ছেড়ে দেওয়ার (অর্থায়ন) প্রক্রিয়ার সমতুল্য। এই ধরনের প্রক্রিয়াকরণের জন্য তালিকা বোঝার স্বরলিপি ব্যবহার করা হয়।

বিজোড় বা জোড় উপাদান (= জোড় বা বিজোড় উপাদান ছেড়ে) অপসারণের একটি উদাহরণ নীচে দেখানো হয়েছে।
%এটি অবশিষ্ট অপারেটর.
i % 2
এটি 2 দ্বারা বিভক্ত i এর অবশিষ্টাংশ।

তালিকা বোঝার স্বরলিপিতে, একটি নতুন তালিকা তৈরি করা হয়। এখন পর্যন্ত চালু করা তালিকার ধরন পদ্ধতির বিপরীতে, মূল তালিকা অপরিবর্তিত রয়েছে।

l = list(range(10))
print(l)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

print([i for i in l if i % 2 == 0])
# [0, 2, 4, 6, 8]

print([i for i in l if i % 2 != 0])
# [1, 3, 5, 7, 9]

print(l)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

অন্যান্য উদাহরণ। শর্তসাপেক্ষ অভিব্যক্তির উপর নির্ভর করে বিভিন্ন প্রক্রিয়াকরণ সম্ভব।

l = ['Alice', 'Bob', 'Charlie', 'Bob', 'David']
print(l)
# ['Alice', 'Bob', 'Charlie', 'Bob', 'David']

print([s for s in l if s != 'Bob'])
# ['Alice', 'Charlie', 'David']

print([s for s in l if s.endswith('e')])
# ['Alice', 'Charlie']

আপনি সদৃশ উপাদান অপসারণ করতে চান, সেট সেট টাইপ ব্যবহার করুন.

print(list(set(l)))
# ['David', 'Alice', 'Charlie', 'Bob']