2016-01-19 6 views
6

मैं किसी सूची में तार '80010', '80030', '80,050' है, के रूप मेंस्ट्रिंग की एक सूची में हर स्ट्रिंग से बहुत अंतिम वर्ण कैसे हटाएं

test = ['80010','80030','80050'] 

में कैसे नष्ट कर सकते हैं आखिरी चरित्र (इस मामले में प्रत्येक स्ट्रिंग का अंतिम अंक 0 है), ताकि मैं प्रत्येक स्ट्रिंग से केवल पहले चार अंक/वर्ण वाले किसी अन्य सूची के साथ समाप्त हो सकूं? तो जैसे

newtest = ['8001', '8003', '8005'] 

मैं बहुत अजगर को नया हूँ कुछ के साथ खत्म हो, लेकिन मैं अगर-किसी और बयान के साथ की कोशिश की है, जोड़कर, का उपयोग कर अनुक्रमण [: -1], आदि लेकिन कुछ नहीं जब तक कि मैं अंत में काम करने के लिए लगता है मेरे सभी अन्य शून्य हटा देना। आपको बहुत - बहुत धन्यवाद!

उत्तर

7
test = ["80010","80030","80050"] 
newtest = [x[:-1] for x in test] 

नए परीक्षण में परिणाम ["8001","8003","8005"] होगा।

[x[:-1] for x in test] एक नई सूची (सूची समझ का प्रयोग करके) test में प्रत्येक आइटम के ऊपर पाशन और newtest में एक संशोधित संस्करण रखकर बनाता है। x[:-1] का मतलब स्ट्रिंग मान x में सब कुछ लेना है, लेकिन अंतिम तत्व सहित नहीं।

+0

अपने आप को बहुत अच्छी व्याख्या XD – Meinkraft

6

आप इतने दूर नहीं हैं। टुकड़ा नोटेशन का उपयोग [: -1] सही दृष्टिकोण है। बस सूची में समझ के साथ संयोजित:

>>> test = ['80010','80030','80050'] 
>>> [x[:-1] for x in test] 
['8001', '8003', '8005'] 

somestring[:-1] आप अंतिम वर्ण (अनन्य) के लिए स्थिति 0 (सम्मिलित) में चरित्र से सब कुछ देता है।

1

समझ से थोड़ा अलग समाधान दिखाने के लिए, यह देखते हुए कि अन्य उत्तरों ने पहले से ही स्लाइसिंग समझाया है, मैं बस विधि में जाता हूं।

मानचित्र फ़ंक्शन के साथ।

test = ['80010','80030','80050'] 
print map(lambda x: x[:-1],test) 
# ['8001', '8003', '8005'] 

इस समाधान के बारे में अधिक जानकारी के लिए, कृपया एक और समान प्रश्न में मैंने जो संक्षिप्त स्पष्टीकरण किया है, उसे पढ़ें।

Convert a list into a sequence of string triples

+1

यह अजगर 2 में काम करता है आप अजगर 3 का उपयोग कर रहे हैं, तो नक्शा समारोह, (के रूप में अनुरोध एक समय में रिटर्न 1 आइटम) एक जनरेटर देता है ताकि आप रैप करने के लिए की जरूरत है यदि आप एक सूची चाहते हैं तो सूची सूची में ('सूची (मानचित्र (लैम्ब्डा x: x [: - 1], परीक्षण))')। इसके अतिरिक्त, प्रिंट अभिव्यक्ति पायथन 3 में एक फ़ंक्शन बन जाती है, इसलिए आपको कुछ भी कोष्ठक में मुद्रित करने के लिए लपेटना होगा। – Matthew

+0

अतिरिक्त के लिए धन्यवाद। – Rockybilly

संबंधित मुद्दे