2010-11-23 20 views
12

मैं पाइथन में निम्न की तरह कुछ कैसे कर सकता हूं?पायथन: सूची समझ, एफ (एक्स) अगर एक्स मौजूद है?

row = [unicode(x.strip()) if x for x in row] 

असल में, एक सूची समझ जहां आप चर मौजूद हैं तो एक समारोह करते हैं।

धन्यवाद!

+0

आप कहते हैं, यदि चर मौजूद है, लेकिन मुझे लगता है कि आपका मतलब है, अगर यह कोई नहीं है। "पंक्ति में एक्स" बिट पंक्ति में सभी "चर" के माध्यम से चल जाएगा। –

+3

इसके अलावा, अगर आप 'कोई नहीं' की जांच करना चाहते हैं, तो 'x कोई नहीं है' का उपयोग करें। – delnan

+1

मुझे लगता है कि यह प्रश्न http://stackoverflow.com/questions/4260280/python-if-else-in-list-comprehension के समान ही दो प्रश्नों को दोबारा पोस्ट नहीं करना चाहिए – anijhaw

उत्तर

18

अंत "

row = [unicode(x.strip()) for x in row if x] 
+0

बिल्कुल सही, धन्यवाद। जैसा कि @ डेलन ने ऊपर टिप्पणी की है, मुझे वास्तव में क्या चाहिए 'x कोई नहीं है' - हालांकि यह एक अस्पष्ट स्पष्टीकरण के लिए मेरी गलती है। – AP257

3

तो करीब है।

row = [unicode(x.strip()) for x in row if x] 
3

लक्ष्यों के बारे में सुनिश्चित नहीं हैं पर चला जाता है, लेकिन" अगर "यह

row = [unicode(x.strip()) for x in row if x ] 
0

हो सकता है कि काम करना चाहिए आप ' फिर टर्नरी ऑपरेटर वाक्यविन्यास के बारे में सोच रहे थे, यदि आप चाहते हैं तो/else, उदाहरण:

row = [unicode(x.strip()) if x is not None else '' for x in row ] 

या जो भी आप करना चाहते हैं।

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