তালিকা অনুসারে কোনও উপাদান কীভাবে সরিয়ে ফেলবেন


1503

পাইথনের ইনডেক্সের তালিকা থেকে আমি কোনও উপাদানকে কীভাবে সরিয়ে দেব?

আমি list.removeপদ্ধতিটি খুঁজে পেয়েছি , তবে বলেছি যে আমি শেষ উপাদানটি মুছতে চাই, আমি এটি কীভাবে করব? দেখে মনে হচ্ছে ডিফল্ট অপসারণ তালিকার সন্ধান করে, তবে আমি চাই না যে কোনও অনুসন্ধান সম্পাদিত হোক।


10
@ এসএমসি: পাইথন তালিকাটি অ্যারে-ভিত্তিক: মাঝখানে কোনও আইটেম মোছার জন্য আপনাকে O(n)সময়টি কার্যকর করার কারণে ব্যবধানটি সরাতে ডানদিকে সমস্ত আইটেম সরিয়ে নিতে হবে । deque()উভয় প্রান্তে দক্ষ ক্রিয়াকলাপ সরবরাহ করে তবে এটি ও (1) সন্নিবেশ / লুকআপ / মোছার মাঝখানে সরবরাহ করে না।
jfs

@ জেফএসবেস্তিয়ান: সি পাইথন বাস্তবায়ন, হ্যাঁ, আমাকে সংশোধন করার জন্য ধন্যবাদ। কঠোরভাবে ভাষা নির্দিষ্টকরণ কীভাবে তালিকাটি কার্যকর করতে হবে তা নির্দিষ্ট করে না, বিকল্প বাস্তবায়নগুলি কোনও লিঙ্কযুক্ত-তালিকা ব্যবহার করতে বেছে নিতে পারে।
smci

@ এসএমসি: কোন পাইথন বাস্তবায়ন O(n)সূচক অ্যাক্সেস ব্যবহার করবে না a[i](সংযুক্ত-তালিকার কারণে)। দ্রষ্টব্য: অ্যারে-ভিত্তিক বাস্তবায়ন O(1)সূচক অ্যাক্সেস সরবরাহ করে।
jfs

@ জেফএসবেস্তিয়ান: অবশ্যই। আমি কেবল উল্লেখ করেছি যে ভাষার বৈশিষ্টগুলি এটি সংজ্ঞায়িত করে না , এটি একটি বাস্তবায়ন সমস্যা। (আমি তা দেখে অবাক হয়েছি))
স্মিচ

@ এসএমসি যদি আপনি এটিকে ব্যাপকভাবে লক্ষ্যবস্তু করেন তবে আমি নিশ্চিত নই যে আপনি কীভাবে কোনও কিছুর অনুকূলতার আশা করতে পারেন।
নিক টি

উত্তর:


1740

delআপনি যে উপাদানটি মুছতে চান তার সূচকটি ব্যবহার করুন এবং নির্দিষ্ট করুন:

>>> a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> del a[-1]
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8]

টুকরো সমর্থন করে:

>>> del a[2:4]
>>> a
[0, 1, 4, 5, 6, 7, 8, 9]

টিউটোরিয়াল থেকে বিভাগ এখানে


53
ধন্যবাদ, পপ এবং ডেলের মধ্যে পার্থক্য কী?
জোয়ান ওয়েঙ্গেজ

37
ডেল অতিরিক্ত বোঝা হয়। উদাহরণস্বরূপ, পুরো তালিকা মুছে ফেলুন
ব্রায়ান আর বন্ডি

34
আরেকটি উদাহরণ দেল [2: 4], 2 এবং 3 উপাদানগুলিকে মুছে ফেলে
ব্রায়ান আর বন্ডি

307
পপ () আপনি মুছতে চান এমন উপাদানটি ফেরত দেয়। ডেল শুধু মুছে ফেলা হয়।

13
আমি সেখানে "লিঙ্কযুক্ত তালিকার" কোনও প্রমাণ দেখতে পাচ্ছি না। এ লুক svn.python.org/projects/python/trunk/Objects/listobject.c কিভাবে PyList_GetItem()মূলত আয় ((PyListObject *)op) -> ob_item[i];- iএকটি অ্যারের তম উপাদান।
glglgl

648

আপনি সম্ভবত চান pop:

a = ['a', 'b', 'c', 'd']
a.pop(1)

# now a is ['a', 'c', 'd']

ডিফল্টরূপে, popকোনও যুক্তি ছাড়াই শেষ আইটেমটি সরিয়ে দেয়:

a = ['a', 'b', 'c', 'd']
a.pop()

# now a is ['a', 'b', 'c']

105
পপ ভুলবেন না (-1)। হ্যাঁ, এটি ডিফল্ট, তবে আমি এটি পছন্দ করি তাই কোন শেষ পপটি ডিফল্টরূপে ব্যবহার করে তা আমার মনে রাখতে হবে না।
এস .লট

282
আমি একমত নই যদি আপনি "পপ" এর প্রোগ্রামারটির ব্যুৎপত্তিটি জানেন (এটি অপারেশন যা কোনও 'স্ট্যাক' ডেটা কাঠামোর শীর্ষস্থান সরিয়ে দেয় এবং ফিরে আসে ), তবে pop()নিজে থেকে খুব স্পষ্টতই দেখা যায়, pop(-1)সম্ভবত এটি সম্ভবত অনর্থক কারণ এটি অপ্রয়োজনীয়।
coredumperror

a.pop (-1) শেষটি সরাতে?
zx1986

14
@ zx1986 popএ বেশিরভাগ প্রোগ্রামিং ভাষায় সাধারণত শেষ আইটেমটি সরিয়ে দেয়, যেমন পাইথনের মতো on সুতরাং আপনি -1 নির্দিষ্ট করেন কিনা বা কিছুই সমান নয়।
পাস্কাল

30
উপায় দ্বারা, pop()এটি মুছে ফেলা যেকোন উপাদানকে ফেরত দেয়।
বব স্টেইন

136

পপ মত অন্যদের উল্লেখ এবং দেল হয় দেওয়া সূচক একটি আইটেম মুছে ফেলার জন্য দক্ষ উপায়ে। তবুও কেবল সমাপ্তির খাতিরে (যেহেতু পাইথনের বিভিন্ন উপায়ে একই জিনিসটি করা যেতে পারে):

স্লাইস ব্যবহার করে (এটি মূল তালিকা থেকে আইটেমটি সরিয়ে ফেলার জায়গায় করে না):

(এছাড়াও পাইথন তালিকার সাথে কাজ করার সময় এটি সর্বনিম্ন কার্যকর পদ্ধতি হবে, তবে পপ সমর্থন করে না এমন ব্যবহারকারী সংজ্ঞায়িত অবজেক্টের সাথে কাজ করার সময় এটি কার্যকর হতে পারে (তবে দক্ষ নয়, আমি পুনরায় বলি) __getitem__):

>>> a = [1, 2, 3, 4, 5, 6]
>>> index = 3 # Only positive index

>>> a = a[:index] + a[index+1 :]
# a is now [1, 2, 3, 5, 6]

দ্রষ্টব্য: দয়া করে নোট করুন যে এই পদ্ধতিটি popএবং মতো জায়গায় তালিকাকে কোনও পরিবর্তন করে না del। পরিবর্তে এটি দুটি অনুলিপি তৈরি করে (একটি সূচনা থেকে সূচক না হওয়া পর্যন্ত এটি ছাড়াই a[:index]) ( এবং সূচকের শেষে শেষ উপাদান ( a[index+1:])) পর্যন্ত এবং উভয়কে যুক্ত করে একটি নতুন তালিকার অবজেক্ট তৈরি করে। এরপরে তালিকা ভেরিয়েবল ( a) এ পুনরায় নিয়োগ দেওয়া হয় । পুরাতন তালিকার অবজেক্টটি তাই বিবেচ্য এবং তাই আবর্জনা সংগ্রহ করা (মূল তালিকার অবজেক্টটি এ ছাড়া অন্য কোনও চলক দ্বারা রেফারেন্স না দেওয়া হয়)।

এটি এই পদ্ধতিটিকে খুব অদক্ষ করে তোলে এবং এটি অনাকাঙ্ক্ষিত পার্শ্ব প্রতিক্রিয়াও তৈরি করতে পারে (বিশেষত যখন অন্যান্য পরিবর্তনকগুলি মূল তালিকা অবজেক্টের দিকে ইঙ্গিত করে যা অ-সংশোধিত থাকে)।

এটি নির্দেশ করার জন্য @ মার্কডিকিনসনকে ধন্যবাদ ...

এই স্ট্যাক ওভারফ্লো উত্তর স্লাইসিংয়ের ধারণাটি ব্যাখ্যা করে।

আরও মনে রাখবেন যে এটি কেবল ইতিবাচক সূচকগুলির সাথেই কাজ করে।

অবজেক্টের সাথে ব্যবহার করার সময়, __getitem__পদ্ধতিটি অবশ্যই সংজ্ঞায়িত করা উচিত এবং আরও গুরুত্বপূর্ণভাবে __add__উভয় অপারেন্ড থেকে আইটেম যুক্ত কোনও বস্তু ফেরত দেওয়ার জন্য পদ্ধতিটি অবশ্যই সংজ্ঞায়িত করা উচিত।

সংক্ষেপে, এটি এমন কোনও বস্তুর সাথে কাজ করে যার শ্রেণি সংজ্ঞাটি এরকম:

class foo(object):
    def __init__(self, items):
        self.items = items

    def __getitem__(self, index):
        return foo(self.items[index])

    def __add__(self, right):
        return foo( self.items + right.items )

এটি কাজ করে listযা সংজ্ঞায়িত করে __getitem__এবং __add__পদ্ধতিগুলি দিয়ে।

দক্ষতার দিক থেকে তিনটি পদ্ধতির তুলনা:

ধরুন নীচেরটি পূর্বনির্ধারিত:

a = range(10)
index = 3

del object[index]পদ্ধতি:

এখন পর্যন্ত সবচেয়ে দক্ষ পদ্ধতি। এটি কার্যকর করে এমন সমস্ত বস্তু যা কোনও __del__পদ্ধতির সংজ্ঞা দেয় ।

বিচ্ছিন্নতা নিম্নরূপ:

কোড:

def del_method():
    global a
    global index
    del a[index]

disassembly:

 10    0 LOAD_GLOBAL     0 (a)
       3 LOAD_GLOBAL     1 (index)
       6 DELETE_SUBSCR   # This is the line that deletes the item
       7 LOAD_CONST      0 (None)
      10 RETURN_VALUE
None

pop পদ্ধতি:

এটি ডেল পদ্ধতির চেয়ে কম দক্ষ এবং যখন আপনি মুছে ফেলা আইটেমটি প্রয়োজন তখন ব্যবহৃত হয়।

কোড:

def pop_method():
    global a
    global index
    a.pop(index)

disassembly:

 17     0 LOAD_GLOBAL     0 (a)
        3 LOAD_ATTR       1 (pop)
        6 LOAD_GLOBAL     2 (index)
        9 CALL_FUNCTION   1
       12 POP_TOP
       13 LOAD_CONST      0 (None)
       16 RETURN_VALUE

স্লাইস এবং অ্যাড পদ্ধতি।

সবচেয়ে কম দক্ষ।

কোড:

def slice_method():
    global a
    global index
    a = a[:index] + a[index+1:]

disassembly:

 24     0 LOAD_GLOBAL    0 (a)
        3 LOAD_GLOBAL    1 (index)
        6 SLICE+2
        7 LOAD_GLOBAL    0 (a)
       10 LOAD_GLOBAL    1 (index)
       13 LOAD_CONST     1 (1)
       16 BINARY_ADD
       17 SLICE+1
       18 BINARY_ADD
       19 STORE_GLOBAL   0 (a)
       22 LOAD_CONST     0 (None)
       25 RETURN_VALUE
None

দ্রষ্টব্য: সব তিনটি disassembles গত দুই লাইন যা মূলত হয় উপেক্ষা করা return None। এছাড়াও প্রথম দুটি লাইন গ্লোবাল মানগুলি লোড করছে aএবং index


4
আপনার স্লাইসিং পদ্ধতিটি কোনও তালিকা থেকে কোনও উপাদান সরিয়ে দেয় না: পরিবর্তে এটি একটি নতুন তালিকা অবজেক্ট তৈরি করে যা মূল তালিকা থেকে আইথ এন্ট্রি ব্যতীত সমস্ত রয়েছে। আসল তালিকাটি অপরিবর্তিত রেখে দেওয়া হয়েছে।
মার্ক ডিকিনসন

@ মার্কডিকিনসন উত্তরটি সম্পাদন করে একই স্পষ্ট করে বলতে পারেন ... দয়া করে আমাকে এখনই ভালো দেখাচ্ছে কিনা তা জানান?
রাঘব আরভি

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

6
পুরো পোস্ট চলাকালীন উপস্থাপিত সমস্ত পদ্ধতির মধ্যে @ rvraghav93 a = a[:index] + a[index+1 :], যখন বিশাল তালিকাগুলি আসে তখন -ট্রিকটি সংরক্ষণযোগ্য ছিল। অন্যান্য সমস্ত পদ্ধতি একটি অচলাবস্থায় শেষ হয়েছিল। তাই আপনাকে অনেক ধন্যবাদ
ব্যবহারকারী 3085931

3
সত্যিই চিহ্নিত করুন, আপনি খারাপ। এই উত্তরটি আমি পছন্দ করেছিলাম কারণ এটি সত্যই শিক্ষাগত ছিল। আমি এই উত্তরটি থেকে এবং শিখেছি এমন বিচ্ছিন্নতার বিবরণ যা সরবরাহ করা হয়েছিল এবং পারফরম্যান্সের উপর প্রভাব। প্লাস স্লাইসিং পদ্ধতি, হ্যাঁ, অন্য একটি বস্তু তৈরি করুন, তবে এখন এটি নির্দিষ্ট করা হয়েছে এবং কখনও কখনও এটি আপনার প্রয়োজন অনুসারেও হয়।
ইয়োহান ওবাদিয়া

52

popতালিকা থেকে কোনও আইটেম অপসারণ এবং রাখার জন্যও এটি দরকারী। যেখানে delআসলে আইটেমটি ট্র্যাশ করে।

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

>>> p = x.pop(1)
>>> p
    2

24

আপনি যদি কোনও তালিকায় সুনির্দিষ্ট অবস্থানের উপাদানটি ২ য়, ৩ য় এবং 7th তম সরিয়ে নিতে চান। আপনি ব্যবহার করতে পারবেন না

del my_list[2]
del my_list[3]
del my_list[7]

যেহেতু আপনি দ্বিতীয় উপাদানটি মুছবেন তার পরে, তৃতীয় উপাদানটি যা আপনি মুছবেন তা হ'ল মূল তালিকার চতুর্থ উপাদান। আপনি মূল তালিকায় ২ য়, ৩ য় এবং 7th ম উপাদান ফিল্টার করতে পারেন এবং নীচের মত একটি নতুন তালিকা পেতে পারেন:

new list = [j for i, j in enumerate(my_list) if i not in [2, 3, 7]]

19

এটি আপনি কী করতে চান তার উপর নির্ভর করে।

আপনি যে উপাদানটি সরিয়েছেন তা যদি আপনি ফিরে আসতে চান তবে ব্যবহার করুন pop():

>>> l = [1, 2, 3, 4, 5]
>>> l.pop(2)
3
>>> l
[1, 2, 4, 5]

তবে, আপনি যদি কেবল একটি উপাদান মুছতে চান তবে ব্যবহার করুন del:

>>> l = [1, 2, 3, 4, 5]
>>> del l[2]
>>> l
[1, 2, 4, 5]

অতিরিক্তভাবে, delআপনাকে স্লাইস (উদাঃ del[2:]) ব্যবহার করতে দেয় ।


18

সাধারণত, আমি নিম্নলিখিত পদ্ধতিটি ব্যবহার করছি:

>>> myList = [10,20,30,40,50]
>>> rmovIndxNo = 3
>>> del myList[rmovIndxNo]
>>> myList
[10, 20, 30, 50]

15

তবুও সূচকের তালিকা থেকে কোনও উপাদান (গুলি) অপসারণের অন্য উপায়।

a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

# remove the element at index 3
a[3:4] = []
# a is now [0, 1, 2, 4, 5, 6, 7, 8, 9]

# remove the elements from index 3 to index 6
a[3:7] = []
# a is now [0, 1, 2, 7, 8, 9]

a [x: y] সূচী থেকে উপাদানগুলিতে xনির্দেশ করে y-1। যখন আমরা তালিকার সেই অংশটিকে খালি তালিকা ( []) হিসাবে ঘোষণা করি , তখন সেই উপাদানগুলি সরানো হবে।


14

আপনি যে আইটেমটি মুছতে চান তা কেবল অনুসন্ধান করতে পারেন। এটা সত্যিই সহজ। উদাহরণ:

    letters = ["a", "b", "c", "d", "e"]
    letters.remove(letters[1])
    print(*letters) # Used with a * to make it unpack you don't have to (Python 3.x or newer)

আউটপুট: acde


6
আমি এই সমাধানটি পছন্দ করি তবে অবশ্যই এটি ধরে নেয় আপনার তালিকার সদৃশ নেই।
tommy.carstensen

11

তালিকা থেকে উপাদান সরাতে নিম্নলিখিত কোডটি ব্যবহার করুন:

list = [1, 2, 3, 4]
list.remove(1)
print(list)

output = [2, 3, 4]

আপনি যদি তালিকা থেকে সূচকের উপাদান ডেটা অপসারণ করতে চান তবে:

list = [1, 2, 3, 4]
list.remove(list[2])
print(list)
output : [1, 2, 4]

2
সতর্কতার সাথে আসে যে আপনার তালিকায় সদৃশ থাকতে পারে না।
tommy.carstensen

3
এটি সূচকে অপসারণ করছে না, তবে মানের সাথে মান সরিয়ে দিচ্ছে। এটি এখানে কিছু লোকের জন্য মূল্যবান তথ্য হতে পারে তবে ওপিএস প্রশ্নের উত্তর দেওয়ার চেষ্টা করে না।
অ্যান্থন

8

পূর্বে উল্লিখিত হিসাবে, সেরা অনুশীলন হ'ল (); অথবা পপ () যদি আপনার মানটি জানা দরকার।

একটি বিকল্প সমাধান হ'ল আপনি যে উপাদানগুলি চান কেবল তা পুনরায় স্ট্যাক করুন:

    a = ['a', 'b', 'c', 'd'] 

    def remove_element(list_,index_):
        clipboard = []
        for i in range(len(list_)):
            if i is not index_:
                clipboard.append(list_[i])
        return clipboard

    print(remove_element(a,2))

    >> ['a', 'b', 'd']

এবং: হুম ... নেতিবাচক সূচকের মানগুলিতে কাজ করবে না, চিন্তা ও আপডেট করবে

আমি ধরে নিচ্ছি

if index_<0:index_=len(list_)+index_

এটি প্যাচ করবে ... তবে হঠাৎ এই ধারণাটি খুব ভঙ্গুর মনে হচ্ছে। আকর্ষণীয় চিন্তা পরীক্ষা যদিও। মনে হচ্ছে এটি করার জন্য একটি 'যথাযথ' উপায় থাকা উচিত () / তালিকা বোঝার সাথে।

চিন্তা


1
পাইথনের কোন সংস্করণটির কাজ রয়েছে del()? সেই ফাংশনের জন্য আপনি সেই ফাংশনের প্রথম যুক্তি হিসাবে তালিকাটি সরবরাহ করেন এবং তারপরে সূচক, বা সূচকটি প্রথমে এবং তারপরে তালিকাটি? এটি আইটেম ছাড়াই তালিকার যুক্তিটি ফিরিয়ে দেয় বা এটি মোছার জায়গায় করে do আমি delবিবৃতি সম্পর্কে জানি , তবে একই নামের কোনও ফাংশন সম্পর্কে নয়।
অ্যান্থন

8

আপনি তালিকার তালিকার সাথে কাজ করছেন বলে মনে হচ্ছে না, তাই আমি এই সংক্ষিপ্ত রাখব। আপনি পপ ব্যবহার করতে চান যেহেতু এটি তালিকাভুক্ত উপাদানগুলিকে নয় উপাদানগুলি সরিয়ে ফেলবে, আপনার জন্য এটি ব্যবহার করা উচিত। অজগরটিতে শেষ উপাদানটি কল করতে এটি "-1"

>>> test = ['item1', 'item2']
>>> test.pop(-1)
'item2'
>>> test
['item1']

1
pop()এবং delউভয়ই প্রদত্ত সূচকে একটি উপাদান সরিয়ে দেয়, সে উপাদানটি নিজেই তালিকা হয় কিনা তা থেকে পৃথক। a = [1, [2, 3], 4]; del a[1]; b = [1, [2, 3], 4]; b.pop(1); assert a == b
অ্যান্থন

8

l - মানগুলির তালিকা; আমাদের inds2rem তালিকা থেকে সূচিগুলি সরিয়ে ফেলতে হবে ।

l = range(20)
inds2rem = [2,5,1,7]
map(lambda x: l.pop(x), sorted(inds2rem, key = lambda x:-x))

>>> l
[0, 3, 4, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

কাজ না, উত্তর হয় <map at 0x7f4d54109a58>। এবং l এর পরিসীমা (0,20)
হিতেশ

7

"ডেল" ফাংশনটি ব্যবহার করুন :

del listName[-N]

উদাহরণস্বরূপ, আপনি যদি শেষ 3 টি আইটেম সরাতে চান তবে আপনার কোডটি এমন হওয়া উচিত:

del listName[-3:]

উদাহরণস্বরূপ, আপনি যদি শেষ 8 টি আইটেম সরিয়ে নিতে চান তবে আপনার কোডটি এমন হওয়া উচিত:

del listName[-8:]

2
delএকটি বিবৃতি । যদি একটি ফাংশন ছিল, আপনি লিখতে হবেdel(listame[-N])
Anthon

7

এটি তালিকা থেকে কীভাবে একটি একক উপাদান অপসারণ করতে হবে এবং বিভিন্ন পদ্ধতিগুলির কী কী সুবিধা রয়েছে তা ইতিমধ্যে উল্লেখ করা হয়েছে। তবে নোট করুন, একাধিক উপাদান অপসারণের ত্রুটির কিছুটা সম্ভাবনা রয়েছে:

>>> l = [0,1,2,3,4,5,6,7,8,9]
>>> indices=[3,7]
>>> for i in indices:
...     del l[i]
... 
>>> l
[0, 1, 2, 4, 5, 6, 7, 9]

মূল তালিকার 3 এবং 8 (3 এবং 7 নয়) উপাদানগুলি সরানো হয়েছে (যেহেতু তালিকাটি লুপের সময় সংক্ষিপ্ত করা হয়েছিল), যা সম্ভবত উদ্দেশ্যটি নাও হতে পারে। আপনি যদি একাধিক সূচকগুলি নিরাপদে মুছে ফেলতে চান তবে তার পরিবর্তে প্রথমে সর্বোচ্চ সূচকের উপাদানগুলি মুছে ফেলা উচিত, যেমন:

>>> l = [0,1,2,3,4,5,6,7,8,9]
>>> indices=[3,7]
>>> for i in sorted(indices, reverse=True):
...     del l[i]
... 
>>> l
[0, 1, 2, 4, 5, 6, 8, 9]

4

বা যদি একাধিক সূচি অপসারণ করা উচিত:

print([v for i,v in enumerate(your_list) if i not in list_of_unwanted_indexes])

অবশ্যই তারপর এছাড়াও করতে পারে:

print([v for i,v in enumerate(your_list) if i != unwanted_index])

1
আপনি কেন কেবল সূচকগুলির তালিকা বিপরীত ক্রমে সাজান এবং তারপরে একে একে মুছবেন না? এইভাবে আপনাকে নতুন তালিকা তৈরি করতে হবে না।
অ্যান্থন

3

আপনি সূচকের ভিত্তিতে তালিকা থেকে উপাদান সরানোর জন্য ডেল বা পপ ব্যবহার করতে পারেন। পপ সদস্যটিকে মুদ্রণ করবে যা এটি তালিকা থেকে অপসারণ করছে, এবং তালিকাটি মুদ্রণ না করে মুছে ফেলা হবে।

>>> a=[1,2,3,4,5]
>>> del a[1]
>>> a
[1, 3, 4, 5]
>>> a.pop(1)
 3
>>> a
[1, 4, 5]
>>> 

3

যে কোনও একটি ডেল বা পপ ব্যবহার করতে পারে তবে আমি ডেল পছন্দ করি, কারণ আপনি সূচক এবং স্লাইসগুলি নির্দিষ্ট করতে পারেন, ব্যবহারকারীকে ডেটার উপর আরও নিয়ন্ত্রণ প্রদান করে control

উদাহরণস্বরূপ, প্রদর্শিত তালিকাটি দিয়ে শুরু করে, কেউ তার শেষ উপাদানটিকে delস্লাইস হিসাবে মুছে ফেলতে পারে এবং তারপরে কেউ ফলাফলটি ব্যবহার করে শেষ উপাদানটি সরিয়ে ফেলতে পারে pop

>>> l = [1,2,3,4,5]
>>> del l[-1:]
>>> l
[1, 2, 3, 4]
>>> l.pop(-1)
4
>>> l
[1, 2, 3]
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.