2011-09-13 15 views
6

मैं शब्दों की दूसरी सूची से एक नई सूची बनाना चाहता हूं; जब शब्द की एक निश्चित शर्त पूरी हो जाती है। इस मामले में मैं उन सभी शब्दों को जोड़ना चाहता हूं जिनके पास 9 की लंबाई नई सूची में है।पायथन: किसी निश्चित स्थिति से मिलने पर सूची से एक नई सूची बनाएं

मैं का इस्तेमाल किया है:

resultReal = [y for y in resultVital if not len(y) < 4] 

सभी प्रविष्टियों कि 4. की लंबाई के तहत कर रहे हालांकि दूर करने के लिए, मैं अब प्रविष्टियां हटाने के लिए नहीं करना चाहती। मैं शब्दों के साथ एक नई सूची बनाना चाहता हूं, लेकिन उन्हें पुरानी सूची में रखना चाहता हूं।

शायद कुछ इस तरह:

if len(word) == 9: 
    newlist.append() 

धन्यवाद।

उत्तर

17

क्षमा करें, एहसास हुआ कि आप लंबाई, 9, लंबाई 9 या उससे अधिक नहीं चाहते थे।

newlist = [word for word in words if len(word) == 9] 
+0

कि शायद चाहिए था होना करने के लिए एक '] 'बजाय एक') 'अंत में। –

+0

चूंकि शब्द सूची में या इनपुट द्वारा नौ से अधिक अक्षरों वाले कोई शब्द नहीं होंगे, इसलिए> 8 का उपयोग करके पूरी तरह से काम करेगा। आपका बहुत बहुत धन्यवाद! –

+0

@ mathias-ahonen - मदद करने में खुशी! कृपया उत्तर के रूप में स्वीकार करने के लिए याद रखें जब आपको वह मिल गया जो आपके लिए काम करता है। इसके अलावा, मेरे टाइपो को पकड़ने के लिए एफजे के लिए धन्यवाद। :) –

1

प्रयास करें:

newlist = [] 
for item in resultVital: 
    if len(item) == 9: 
     newlist.append(item)
1

इस प्रयास करें:

newlist = [word for word in words if len(word) == 9] 
+0

संपादन पृष्ठ के निचले हिस्से के नीचे प्रारूपण संकेतों की जांच करें। इसे पढ़ने में आसान बनाने के लिए कृपया अपना कोड सही तरीके से प्रारूपित करें। –