2012-06-07 8 views
5
l = ['1','2','3'] 
goal = ['<li>1</li>','<li>2</li>'] 

l से मुझे goal कैसे मिल सकता है?पायथन स्ट्रिंग के दोनों किनारों पर "शामिल" हो?

मैं सूची समझ के साथ खेल रहा हूं लेकिन यह गन्दा है!

+3

क्या आप अपने पिछले लक्ष्य (3) को अपने 'लक्ष्य' से सूची' एल में बाहर करने का मतलब रखते थे? – Levon

उत्तर

10

स्ट्रिंग स्वरूपण और सूची समझने की कोशिश करें।

साथ string.format विधि
goal = ['<li>{0}</li>'.format(x) for x in l] 
+1

नोट:% स्वरूपण बहिष्कृत, प्रारूप अनुकूल है। – jamylak

+0

@jamylak आह, अच्छा बिंदु! मैंने अपना जवाब संशोधित किया है। – cheeken

+0

लवली, धन्यवाद। हालांकि मैंने आपके द्वारा पोस्ट की गई मूल का उपयोग किया .. ".format" अनावश्यक लगता है। – matt

1

दो विकल्प str.format() का उपयोग कर:

goal = map('<li>{0}</li>'.format, l) 

... या ...

goal = ['<li>{0}</li>'.format(x) for x in l] 

ध्यान दें कि अजगर 3.x पर map() एक सूची के बजाय एक पुनरावर्तक लौटाएगा, इसलिए यदि आप एक सूची चाहते हैं तो आपको list(map(...)) का उपयोग करने की आवश्यकता होगी।

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

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