2012-09-27 14 views
6

मैं एक ऐसी सूची बनाने की कोशिश कर रहा हूं जो एक पुनर्विक्रय स्ट्रिंग द्वारा पॉप्युलेट किया गया है और एक संख्या जो कि एक पंक्ति में कौन सा है। वह संख्या जो इंगित करती है कि कितने तारों को एक चर चर से प्राप्त किया जाएगा।एक ही स्ट्रिंग से भरकर एक पाइथन सूची बनाएं और एक चर जो एक चर के आधार पर बढ़ता है।

तो कुछ इस तरह:

b = 5 
a = range(2, b + 1) 
c = [] 
c.append('Adi_' + str(a)) 

मुझे उम्मीद थी इस इस प्रकार की सूची बनाने होगा:

c = ['Adi_2', 'Adi_3', 'Adi_4', 'Adi_5'] 

इसके बजाय मैं इस

c = ['Adi_[2, 3, 4, 5]'] 

की तरह एक सूची प्राप्त इसलिए जब मैं इसे नई पंक्तियों में प्रिंट करने की कोशिश करता हूं

for x in c: 
    print"Welcome {0}".format(x) 

इस का परिणाम है:

Welcome Adi_[2, 3, 4, 5] 

परिणाम मैं चाहता है:

Welcome Adi_2 
Welcome Adi_3 
Welcome Adi_4 
Welcome Adi_5 

तो किसी को भी विचार है कि मैं यह जानना चाहेंगे।

+0

आप पहले से ही स्ट्रिंग स्वरूपित है। आपको प्रिंट लाइन को "वेलकम एडीआई_" में बदलना चाहिए और सीधे स्ट्रिंग में नंबर को प्रारूपित करना चाहिए। आपको सूची के अंदर तत्वों को संशोधित करने की चिंता करने की ज़रूरत नहीं है। – kreativitea

उत्तर

11

आप लगभग यह मिल गया:

for i in a: 
    c.append('Adi_' + str(i)) 

आपका प्रारंभिक लाइन स्ट्रिंग के रूप पूरे सूची a बदलने था।

ध्यान दें कि आप एक सूची समझ के साथ पाश से छुटकारा पाने सकता है और कुछ string formatting:

c = ['Adi_%s' % s for s in a] 

या

c = ['Adi_{0}'.format(s) for s in a] #Python >= 2.6 
+0

हाँ यह मेरे लिए किया था। अब मैं सूची बनाने की समझ में आता हूं लेकिन मुझे एस समझ में नहीं आता है। मैं गूगल सूची प्रतिस्थापन जा रहा हूँ: डी। ध्न्यवाद। – Adilicious

+1

@Adilicious जांच http://docs.python.org/library/string.html#formatstrings और http://docs.python.org/library/stdtypes.html#string-formatting –

+0

मैं आपको धन्यवाद दूंगा :) – Adilicious

0

या एक सूची समझ के रूप में:

b = 5 
a = range(2, b + 1) 
c = ["Adi_" + str(i) for i in a] 
1

का उपयोग करना सूची की समझ:

b = 5 
a = range(2, b + 1) 
c = ['Adi_'+str(i) for i in a] 
for x in c: 
    print"Welcome {0}".format(x) 
0

या एक पंक्ति में सभी:

>>> for s in ['Welcome Adi_%d' % i for i in range(2,6)]: 
...  print s 
... 
Welcome Adi_2 
Welcome Adi_3 
Welcome Adi_4 
Welcome Adi_5 
संबंधित मुद्दे