2009-05-22 22 views
6

पर कनवर्ट करें मैं पाइथन 2.2 में केवल अंतर्निहित मॉड्यूल का उपयोग करके निम्न कार्य कैसे करूं?सूचियों की सूची को सीमित स्ट्रिंग

मेरे पास इस तरह की सूचियों की एक सूची है:
[['कुत्ता', 1], ['बिल्ली', 2, 'ए'], ['चूहा', 3, 4], ['बल्ले' , 5]]

और इससे मैं इस तरह की एक तालिका का एक स्ट्रिंग प्रतिनिधित्व प्रस्तुत करना चाहता हूं जहां कॉलम टैब और नई पंक्तियों द्वारा पंक्तियों द्वारा सीमित हैं।

dog 1 
cat 2 a 
rat 3 4 
bat 5 

यानी
'कुत्ते \ t1 \ Ncat \ t2 \ \ t3 \ टी -4 \ nbat \ t5 टा \ nrat'

उत्तर

19

इस तरह, शायद:

lists = [['dog', 1], ['cat', 2, 'a'], ['rat', 3, 4], ['bat', 5]] 
result = "\n".join("\t".join(map(str,l)) for l in lists) 

यह सब मिलती है टैब का उपयोग करने वाली आंतरिक सूचियां, और न्यूलाइन का उपयोग करके तारों की परिणामी सूची को जोड़ती हैं।

बाहरी सूची को संसाधित करने के लिए list comprehension नामक एक सुविधा का उपयोग करता है।

+0

आपको इन्हें शामिल करने से पहले इनट्स को स्ट्रिंग में कनवर्ट करने की आवश्यकता है। – Dave

+0

आपको यह सुनिश्चित करना होगा कि 'सूचियों' चर में प्रत्येक तत्व एक स्ट्रिंग है, लेकिन इसके अलावा, कोड स्निपेट बेहद संक्षिप्त और अभिव्यक्तिपूर्ण है। मुझे वास्तव में पाइथन के साथ अधिक समय बिताना चाहिए .... –

+0

आप सूची में सूची के लिए दूसरी पंक्ति भी बदल सकते हैं: परिणाम = '\ n'.join (' \ t'.join (str (el) सूची में el) सूचियां) – mipadi

4
# rows contains the list of lists 
lines = [] 
for row in rows: 
    lines.append('\t'.join(map(str, row))) 
result = '\n'.join(lines) 
+0

+1 इसे सरल और आसानी से पठनीय रखने के लिए +1 – nosklo

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