दिलचस्प पोस्ट
PHPExcel 256, 512 और 1024MB रैम से बाहर चलाता है Jqgrid 3.7 इंटरनेट एक्सप्लोरर में पंक्तियों को प्रदर्शित नहीं करता है jQuery के AJAX सफलता कॉलबैक फ़ंक्शन परिभाषा सबसे ज्यादा फॉर्म, संभवतः "से" पर क्लिक कर रहा है? जावास्क्रिप्ट में एक नींद का काम है? पायथन: फ़ैंटम जे एस खाली पृष्ठ स्रोत के साथ सेलेनियम जावा दिनांक प्रारूप रूपांतरण – गलत माह हो रही है क्लिक () फ़ंक्शन प्रक्षेपक स्क्रिप्ट में काम नहीं कर रहा है कुछ भी करने के लिए HTML फ़ॉर्म सबमिट नहीं करना चाहते सूचियों की सूची में ट्यूपल्स की एक सूची परिवर्तित करें एक गतिविधि से लेकर दूसरे तक सरलीकृत करें क्या जावास्क्रिप्ट निष्पादन को रोकना संभव है? सूची आइटम मुद्रित करने के लिए पायथनिक तरीका ImageIO के साथ एनिमेटेड GIF बनाना? जावा रेगुलर एक्सप्रेशंस में \ w और \ b के लिए यूनिकोड समकक्ष?

आप एक सूची से अल्पविराम से अलग स्ट्रिंग कैसे बनायेंगे?

एक अनुक्रम से स्ट्रिंग को जोड़ने का आपका पसंदीदा तरीका क्या होगा, जैसे कि प्रत्येक दो लगातार जोड़ों के बीच एक अल्पविराम जोड़ा जाता है। यही है, उदाहरण के लिए, आप कैसे [ 'a', 'b', 'c' ] से 'a,b,c' मानचित्रित करते हैं? (मामलों [ s ] और [] को क्रमशः s और '' लिए मैप किया जाना चाहिए।)

मैं आमतौर पर ''.join(map(lambda x: x+',',l))[:-1] जैसे कुछ का उपयोग कर समाप्त होता ''.join(map(lambda x: x+',',l))[:-1] , लेकिन यह भी कुछ असंतुष्ट महसूस कर रहा है।

संपादित करें: मैं शर्मिंदा और खुश हूँ कि समाधान इतनी सरल है जाहिर है मैं शायद ही एक सुराग है कि मैं क्या कर रहा हूं। (मुझे शायद अतीत में "सरल" s.join([e1,e2,...]) जरूरत थी और किसी तरह याद किया s.join([e1,e2,...]) लिए आशुलिपि के रूप में s+e1+e2+... )

Solutions Collecting From Web of "आप एक सूची से अल्पविराम से अलग स्ट्रिंग कैसे बनायेंगे?"

 myList = ['a','b','c','d'] myString = ",".join(myList ) 

यह काम नहीं करेगा अगर सूची में संख्याएं शामिल हों


जैसे रिकार्डो रेयेस ने सुझाव दिया है, अगर इसमें गैर-स्ट्रिंग प्रकार (जैसे पूर्णांक, फ़्लोट्स, बॉल्स, कोई नहीं) शामिल हैं तो क्या करें:

 myList = ','.join(map(str, myList)) 

मैप / लैम्ब्डा जादू क्यों है? यह काम नहीं करता है?

 >>>foo = [ 'a', 'b', 'c' ] >>>print ",".join(foo) a,b,c >>>print ",".join([]) >>>print ",".join(['a']) a 

संपादित करें: @ मार्क-बिक अंक के लिए मामले को बताता है। शायद सूची की समझ:

 >>>','.join([str(x) for x in foo]) 

अधिक "अजवायनिक" है

Edit2: सुझावों के लिए धन्यवाद भविष्य में सूची की समझ के बजाय मैं जनरेटर का उपयोग करूँगा

 >>>','.join(str(x) for x in foo) 

आप बस नहीं चाहते हैं:

 ",".join(l) 

जाहिर है यह अधिक जटिल हो जाता है यदि मूल्यों में उद्धरण / अल्पमत आदि आदि की आवश्यकता है। उस मामले में मैं मानक पुस्तकालय में सीएसवी मॉड्यूल को देखने का सुझाव दूंगा:

https://docs.python.org/library/csv.html

@ पीटर हॉफमैन

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

 >>> l = [1, "foo", 4 ,"bar"] >>> ",".join(str(bit) for bit in l) '1,foo,4,bar' 

यहां पायथन 3.0 में एक वैकल्पिक समाधान है जो गैर-स्ट्रिंग सूची आइटम की अनुमति देता है:

 >>> alist = ['a', 1, (2, 'b')] 
  • एक मानक तरीका

     >>> ", ".join(map(str, alist)) "a, 1, (2, 'b')" 
  • वैकल्पिक समाधान

     >>> import io >>> s = io.StringIO() >>> print(*alist, file=s, sep=', ', end='') >>> s.getvalue() "a, 1, (2, 'b')" 

नोट: अल्पविराम के बाद अंतरिक्ष जानबूझकर है।

",".join(l) सभी मामलों के लिए काम नहीं करेगा मुझे स्ट्रिंगियो के साथ सीएसवी मॉड्यूल का उपयोग करने का सुझाव था

 import StringIO import csv l = ['list','of','["""crazy"quotes"and\'',123,'other things'] line = StringIO.StringIO() writer = csv.writer(line) writer.writerow(l) csvcontent = line.getvalue() # 'list,of,"[""""""crazy""quotes""and\'",123,other things\r\n' 

@ jmanning2k एक सूची समझ का उपयोग करते हुए एक नई अस्थायी सूची बनाने के नकारात्मक पक्ष है। बेहतर समाधान itertools.imap का उपयोग करेगा जो एक इटरेटर देता है

 from itertools import imap l = [1, "foo", 4 ,"bar"] ",".join(imap(str, l)) 

सूची में परिवर्तित संख्याओं के लिए निम्न कार्य करें:

 string = ''.join([str(i) for i in list]) 

जब तक मुझे कुछ याद नहीं आ रहा है, ','.join(foo) जिसे आप पूछ रहे हैं।

 >>> ','.join(['']) '' >>> ','.join(['s']) 's' >>> ','.join(['a','b','c']) 'a,b,c' 

(संपादित करें: और जैसा jmanning2k बताता है,

 ','.join([str(x) for x in foo]) 

सुरक्षित और काफी पायथनिक है, हालांकि परिणामस्वरूप स्ट्रिंग को पार्स करना मुश्किल होगा यदि तत्व में अल्पविराम शामिल हो सकता है – उस बिंदु पर, आपको csv मॉड्यूल की पूर्ण शक्ति की आवश्यकता होती है, क्योंकि डगलस अपने जवाब में बताता है।)

 l=['a', 1, 'b', 2] print str(l)[1:-1] Output: "'a', 1, 'b', 2" 
 >>> my_list = ['A', '', '', 'D', 'E',] >>> ",".join([str(i) for i in my_list if i]) 'A,D,E' 

my_list में किसी भी प्रकार के चर शामिल हो सकते हैं यह परिणाम 'A,,,D,E' से बचें

यहां सूची के साथ एक उदाहरण है

 >>> myList = [['Apple'],['Orange']] >>> myList = ','.join(map(str, [i[0] for i in myList])) >>> print "Output:", myList Output: Apple,Orange 

अधिक सटीक:-

 >>> myList = [['Apple'],['Orange']] >>> myList = ','.join(map(str, [type(i) == list and i[0] for i in myList])) >>> print "Output:", myList Output: Apple,Orange 

उदाहरण 2: –

 myList = ['Apple','Orange'] myList = ','.join(map(str, myList)) print "Output:", myList Output: Apple,Orange