স্ট্রিং থেকে চূড়ান্ত অক্ষর সরান


507

ধরা যাক আমার স্ট্রিং 10 টি অক্ষর দীর্ঘ।

আমি শেষ চরিত্রটি কীভাবে সরিয়ে দেব?

যদি আমার স্ট্রিং হয় "abcdefghij"(আমি 'j'অক্ষরটি প্রতিস্থাপন করতে চাই না , যেহেতু আমার স্ট্রিংয়ে একাধিক 'j'অক্ষর থাকতে পারে ) আমি কেবলমাত্র শেষ চরিত্রটিই চলে যেতে চাই। এটি যাই হোক না কেন বা এটি কতবার ঘটে তা নির্বিশেষে আমাকে আমার স্ট্রিং থেকে শেষ চরিত্রটি সরিয়ে ফেলতে হবে।


উত্তর:


832

সরল:

st =  "abcdefghij"
st = st[:-1]

আরও একটি উপায় রয়েছে যা দেখায় যে এটি কীভাবে পদক্ষেপগুলি সহ হয়:

list1 = "abcdefghij"
list2 = list(list1)
print(list2)
list3 = list2[:-1]
print(list3)

এটি ব্যবহারকারী ইনপুট সহ একটি উপায়:

list1 = input ("Enter :")
list2 = list(list1)
print(list2)
list3 = list2[:-1]
print(list3)

এটি একটি তালিকার শেষ শব্দটি সরিয়ে নিতে:

list1 = input("Enter :")
list2 = list1.split()
print(list2)
list3 = list2[:-1]
print(list3)

3
হ্যাঁ, st[-1]শুধুমাত্র শেষ চরিত্রst
Cyrille

5
আসলে সেই স্লাইসটি stখালি থাকলেও এখনও কাজ করবে । ঠিক আছে, এটি একটি খালি স্ট্রিংটি এখনও ফিরে আসবে তবে আপনি ত্রুটি পাবেন না।
kindall

1
যদি আপনার শব্দের একটি তালিকা থাকে এবং আপনি প্রতিটি শব্দের শেষ চরিত্রটি মুছতে চান? [নীল, লাল, সবুজ] => [ব্লু, রে, গ্রি]?
জেলিস

5
[i[:-1] for i in ['blue','red','green']]
সাইরিল

3
উদাহরণগুলির দিকে তাকালে, এটি উল্লেখ করা দরকার যে তালিকাটি পরিবর্তনযোগ্য এবং তালিকার সাথে কাজ করার সময় সেই list.pop()পদ্ধতিটি হ'ল এটি সর্বশেষ আইটেমটি স্থানে সরিয়ে রাখে O(1)এবং [:-1]স্লাইসিংয়ের ফলে O(n-1)সময় শেষ উপাদান ছাড়াই তালিকার একটি অনুলিপি তৈরি হয় প্লাস O(n-1)স্পেস স্ট্রিংগুলি পরিবর্তনযোগ্য - তাই যুক্ত করার মতো কিছুই নেই।
দিমিত্রি

19

আপনি যা করতে চেষ্টা করছেন তা পাইথনে স্ট্রিং স্লাইসিংয়ের একটি এক্সটেনশন :

বলুন যে সমস্ত স্ট্রিং 10 দৈর্ঘ্যের, শেষ চরটি সরানো হবে:

>>> st[:9]
'abcdefghi'

শেষ Nঅক্ষরগুলি সরাতে :

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