একটি তালিকা থেকে প্রথম আইটেমটি কীভাবে সরাবেন?


772

আমি [0, 1, 2, 3, 4]এটি তৈরি করতে চাই তালিকা আছে [1, 2, 3, 4]। কিভাবে আমি এই সম্পর্কে যান?

উত্তর:


1256

পাইথন তালিকা

list.pop (INDEX)

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

ডেল তালিকা [সূচক]

>>> l = ['a', 'b', 'c', 'd']
>>> del l[0]
>>> l
['b', 'c', 'd']
>>> 

এগুলি উভয়ই আপনার মূল তালিকাটি পরিবর্তন করে।

অন্যরা স্লাইসিং ব্যবহার করার পরামর্শ দিয়েছেন:

  • তালিকাটি অনুলিপি করে
  • একটি সাবসেটটি ফিরিয়ে দিতে পারে

এছাড়াও, আপনি যদি অনেকগুলি পপ (0) সম্পাদন করে থাকেন তবে আপনার সংগ্রহে ডেকে দেখা উচিত

from collections import deque
>>> l = deque(['a', 'b', 'c', 'd'])
>>> l.popleft()
'a'
>>> l
deque(['b', 'c', 'd'])
  • তালিকার বাম প্রান্ত থেকে উচ্চতর পারফরম্যান্স সরবরাহ করে

আপনি নেতিবাচক সূচকগুলিও ব্যবহার করতে পারেন, যা তালিকার তুলনায় একই অর্থ।
গ্যাব্রিয়েল ডেভিলার্স

189

slicing:

x = [0,1,2,3,4]
x = x[1:]

যা প্রকৃতপক্ষে আসলটির একটি উপসেট ফেরত দেবে তবে তা পরিবর্তন করবে না।


16
যদি xখালি থাকে, x=x[1:]অভিযোগ না করে খালি ছেড়ে দেবে। x.pop(0)একটি খালি তালিকার জন্য নিক্ষেপ করা হবে x। কখনও কখনও নিক্ষেপ করা হ'ল যা চায় তা: তালিকায় কমপক্ষে একটি উপাদান রয়েছে এমন ধারণা যদি ভুল হয় তবে কেউ বিজ্ঞপ্তি পেতে চান।
EAD

এর জন্য ধন্যবাদ! এটি একটি আরও ভাল উত্তর, ইমো, কারণ এটি ধ্বংসাত্মক নয়
হি জিন


29

তালিকার টুকরো টুকরো টুকরো দিয়ে আরও বিশদগুলির জন্য তালিকাগুলি সম্পর্কে পাইথন টিউটোরিয়ালটি দেখুন:

>>> l = [0, 1, 2, 3, 4]
>>> l[1:]
[1, 2, 3, 4]

29

আপনি ঠিক এই করতে হবে

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

অথবা l = l[1:]

সুবিধা - অসুবিধা

পপ ব্যবহার করে আপনি মানটি পুনরুদ্ধার করতে পারেন

বলতে x = l.pop(0) xহবে0


15

তারপরে এটি মুছুন:

x = [0, 1, 2, 3, 4]
del x[0]
print x
# [1, 2, 3, 4]

8

আপনি list.reverse()তালিকাটি বিপরীত করতে ব্যবহার করতে পারেন , তারপরে list.pop()শেষ উপাদানটি মুছতে, উদাহরণস্বরূপ:

l = [0, 1, 2, 3, 4]
l.reverse()
print l
[4, 3, 2, 1, 0]


l.pop()
0
l.pop()
1
l.pop()
2
l.pop()
3
l.pop()
4

5

আপনি তালিকার প্রথম উপাদানটি ব্যবহার list.remove(a[0])করতে পারেন pop

>>>> a=[1,2,3,4,5]
>>>> a.remove(a[0])
>>>> print a
>>>> [2,3,4,5]

3
ওপি এটি করার সর্বোত্তম উপায় সম্পর্কে জিজ্ঞাসা করছে না। এটি অর্জনের জন্য এটি কেবলমাত্র অন্য পদ্ধতি!
শীর্ষস্থানীয়

1
হ্যাঁ, অন্য একটি পদ্ধতির অন্য উত্তরগুলির সাথে কোনও লাভ নেই। এটি করার বিভিন্ন উপায় রয়েছে। এর উত্তর দিবেন না কেন a.remove(a[1-1])? এটা অন্য উপায়।
নেড ব্যাচেল্ডার

2
আমার বক্তব্যটি হ'ল আপনার উত্তরটি আরও খারাপ যে অন্য উত্তরগুলি উত্তর দেয় এবং এর প্রস্তাব দেওয়ার মতো কিছুই নেই। এই উত্তরটি অন্যদের উপর ব্যবহার করার কোনও কারণ নেই। এটি "অন্য উপায়" এটিকে এখানে যুক্ত করার কোনও কারণ নয় because
নেড ব্যাচেল্ডার

4
@ নেডব্যাচেল্ডার পাইথনের তালিকাগুলির জন্য এটি একটি অতিরিক্ত পদ্ধতি যা এই নির্দিষ্ট কাজের জন্য নির্দিষ্ট এবং সম্পূর্ণতার জন্য এটি লক্ষ করা উচিত। স্বীকৃত বিএস একটি [1-1] উদাহরণ, অন্যদিকে, এটি নয়। তার উত্তর কোনওভাবেই "অন্যান্য উত্তরগুলির চেয়ে খারাপ" নয় বলে উল্লেখ করা উচিত নয়।
হেজাজমান

8
আমি আমার প্রশ্নের পাশে দাঁড়িয়েছি: এটি অদ্ভুত এবং সংঘাতযুক্ত বলে মনে হচ্ছে এবং এর প্রস্তাব দেওয়ার মতো কিছুই নেই। আসলে, প্রথম বাক্যটি বিভ্রান্তিমূলক, কারণ আপনি যে উপাদানটি দিয়েছিলেন তা মুছে ফেলতে পারবেন না list.remove(a[i])। সদৃশ মানগুলির সাহায্যে এটি একই মান সহ একটি পূর্ববর্তী উপাদান খুঁজে পেতে পারে এবং এটির পরিবর্তে সেইটিকে অপসারণ করে।
নেড ব্যাচেল্ডার


1

"ডেক" বা ডাবল এন্ড কুইড নামে একটি ডেটাস্ট্রাকচার রয়েছে যা তালিকার চেয়ে দ্রুত এবং দক্ষ। আপনি আপনার তালিকাটি ব্যবহার করতে পারেন এবং এটি ডেকিতে রূপান্তর করতে এবং এতে প্রয়োজনীয় রূপান্তর করতে পারেন। আপনি ডিকটিকে আবার তালিকায়ও রূপান্তর করতে পারেন।

import collections
mylist = [0, 1, 2, 3, 4]

#make a deque from your list
de = collections.deque(mylist)

#you can remove from a deque from either left side or right side
de.popleft()
print(de)

#you can covert the deque back to list
mylist = list(de)
print(mylist)

ডেক এছাড়াও তালিকার উভয় দিকে বা কোনও নির্দিষ্ট সূচকে উপাদানগুলি সন্নিবেশ করানোর মতো দরকারী দরকারী ফাংশন সরবরাহ করে। আপনি কোনও ডীককে ঘোরানো বা বিপরীত করতে পারেন। একবার চেষ্টা করে দেখো!!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.