2016-02-13 14 views
6

मैं कोई लाभ नहीं हुआ इस का उत्तर के लिए गूगल और इस साइट पर खोज कर रहा है, कुछ अलग खोज शब्दों के साथ। तो यदि प्रश्न का उत्तर पहले ही दिया जा चुका है, तो मुझे इसकी ओर इशारा करना अच्छा लगेगा।सूची में अंतिम तत्व शामिल हों


मैं सूची के अंतिम तत्व सहित एक सूची के तत्वों की एक श्रृंखला में शामिल होने की कोशिश कर रहा हूँ,। यहाँ अपने परीक्षण कोड है:

inp = ['1','2','3','4'] 
test = '_'.join(inp[0:2]) 
test2 = '_'.join(inp[2:-1]) 

print(test + ' & ' + test2) 

मैं जानता हूँ कि रेंज सूची का अंतिम तत्व शामिल नहीं किया जाएगा, तो यह सिर्फ मेरे test2 के लिए 3 दे, लेकिन पाने के लिए अगर मैं एक प्रयास में के बजाय 0 -1 का उपयोग यह पिछले तत्व को वापस लूप करके अंतिम तत्व शामिल करने के लिए, इसके बदले कुछ भी नहीं देता है।


मैं बहुत अभी भी कोडिंग के लिए नया हूँ, इसलिए इस पूरी तरह ऐसा करने का एक आसान तरीका है कि अगर यह मुझे आश्चर्य नहीं होगा। मुझे यह जानकर ख़ुशी होगी कि यह हल करने योग्य है लेकिन एक अलग समाधान के लिए समान रूप से खुश है। अनिवार्य रूप से मैं उन्हें एक वस्तु नाम के खिलाफ जांच करने के लिए एक सूची में पहले दो आइटम खींच कर रहा हूँ, और सूची के बाकी होने - तत्वों का कोई विशिष्ट संख्या - एक दूसरे चर हो।

मुझे लगता है कि मैं सूची में से पहले और तत्वों में से पहले दो तत्वों को पॉप करने जैसा कुछ कर सकता हूं, और उसके बाद श्रेणियों का उपयोग किए बिना उस सूची में शामिल हो सकता है और हटाया जा सकता है। लेकिन अगर जांच में विफल रहता है मैं फिर से मूल सूची का उपयोग करने की जरूरत है, तो मैं के रूप में अच्छी सूची की एक प्रतिलिपि बनाने करना होगा। बिल्कुल संभव है, यह कम कोड के साथ में करने के लिए अच्छा होगा की तुलना में है कि ले जाएगा?

+2

कृपया परिणाम आप चाहते हैं जोड़ सकते हैं। – timgeb

+0

इसे '1_2 और 3_4' प्रिंट करना चाहिए, लेकिन किसी ने पहले से ही इसे मेरे लिए हल कर लिया है। – aryst0krat

उत्तर

4

पिछले तत्व सहित सूची प्राप्त करने के अंत बाहर छोड़:

inp = ['1','2','3','4'] 
test = '_'.join(inp[:2]) 
test2 = '_'.join(inp[2:]) 

print(test + ' & ' + test2) 
+0

यही है कि मैं क्या जरूरत है। और इतना आसान भी! बस आपको यह दिखाने के लिए चला जाता है कि मैं क्या भूल गया था क्योंकि मैंने पहली बार मूल बातें सीखी थीं। – aryst0krat

2

आप उपयोग कर सकते हैं एक नेस्ट में शामिल होने:

>>> ' & '.join(['_'.join(inp[i:j]) for i, j in zip([0, 2], [2, None])]) 
'1_2 & 3_4' 

या एक सरल समाधान:

>>> ' & '.join(["_".join(inp[:2]), "_".join(inp[2:])]) 
'1_2 & 3_4' 
+0

मैं इस समाधान की सराहना करता हूं क्योंकि सूची की समझ मुझे कुछ सीखने की ज़रूरत है (मुझे नहीं लगता कि वे 2.7 में मौजूद हैं क्योंकि मेरे शिक्षक ने कभी भी इसे छुआ नहीं है), लेकिन समय के लिए मेरे दिमाग पर दूसरा समाधान आसान है और लगता है कि यह आसान है लागू। फिर भी आपका धन्यवाद! – aryst0krat

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