2010-09-01 11 views
5

मेरे पास है:एक सूची प्रमुख और एक अजगर सूची में तार से रिक्त स्थान अनुगामी दूर करने के लिए कैसे

row=['hi', 'there', 'how', ...........'some stuff is here are ','you'] 

के रूप में आप row[8]='some stuff is here are '

देख सकते अंतिम वर्ण कोई जगह मैं सब कुछ प्राप्त करना चाहते हैं अगर इस तरह के अंतिम चरित्र को छोड़कर:

if row[8][len(row[8])-1]==' ': 
    row[8]=row[8][0:len(row[8])-2] 

यह विधि काम नहीं कर रही है। क्या कोई बेहतर सिंटैक्स सुझा सकता है?

+1

क्या आप "काम नहीं कर रहा" मतलब है? आपको क्या त्रुटि मिल रही है? –

+0

असल में, मैं नहीं देख सकता कि 'पंक्ति [8] '' कुछ चीजें यहां हैं '- आपने उस भाग को छोड़ दिया है। यदि यह था, तो आपके पास जो कोड था, वह सबसे पाइथोनिक नहीं था, तो काम करता। – Thanatos

+0

@ तानाटोस क्या आप कृपया सुझाव दे सकते हैं कि मैं इसे पहली पंक्ति पर कैसे अधिक पाइथोनिक –

उत्तर

7
row = [x.strip() for x in row] 

(अगर आप सिर्फ अंत में रिक्त स्थान प्राप्त करना चाहते हैं, का उपयोग rstrip)

+0

यह भी प्रमुख रिक्त स्थान से छुटकारा पाता है। ओपी शायद यह नहीं चाहता है। 'Rstrip()' देखें। – MAK

4

नकारात्मक सूचकांक अंत से गिना जाता है। और सूचकांक दिए जाने से पहले स्लाइस लगाए जाते हैं।

if row[8][-1]==' ': 
    row[8]=row[8][:-1] 
+0

बना सकता हूं: इंडेक्स एरर: स्ट्रिंग इंडेक्स –

+0

से बाहर है तो आप कुछ और गलत कर रहे हैं। यह देखने के लिए जांच नहीं है कि लंबाई 0 से अधिक है या नहीं। –

+1

@ user2982349- यह एक भयानक नाम है: क्या आप निश्चित हैं कि पंक्ति [8] नहीं है? – Thanatos

4

तो क्या आप इसे पिछली जगहों के बिना चाहते हैं? क्या आप बस row[8].rstrip का उपयोग कर सकते हैं?

+3

यह 'पंक्ति [8] नहीं होना चाहिए .rstrip() '? – MAK

+0

@ एमएके: आप बिल्कुल सही हैं। मैं आलसी था और बस विधि का नाम दे रहा था;) – Daenyth

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