मैं पायथन में रिक्त स्थान के साथ एक सूची को स्ट्रिंग में कैसे बदलूं?


92

मैं एक सूची को पायथन में अंतरिक्ष-पृथक स्ट्रिंग में कैसे बदल सकता हूं?

उदाहरण के लिए, मैं इस सूची को परिवर्तित करना चाहता हूं:

my_list = [how,are,you]

स्ट्रिंग में "how are you"

रिक्त स्थान महत्वपूर्ण हैं। मैं howareyouअपने उपयोग के अब तक के प्रयास के साथ नहीं पाना चाहता

"".join(my_list)

18
Protip: listएक चर नाम के रूप में उपयोग न करें ।
टिम पीटरज़

जवाबों:


194
" ".join(my_list)

आपको एक रिक्त स्ट्रिंग नहीं एक स्थान के साथ जुड़ने की आवश्यकता है ...


7
इस तरह कोड मुझे पायथन पसंद है। बहुत आसन।
जोश

क्या होगा अगर हमारे पास इस प्रारूप में स्ट्रिंग है list = ['how ', 'are ', 'you '] तो इसे सूची में कैसे परिवर्तित किया जाए।
मुहम्मद तकी

1
@MuhammadTaqi तो बस be4 जॉइनिंग तत्व को स्ट्रिप करें ..." ".join([i.strip() for i in my_list)
JACK ZHANG

17

मैं इसे केवल इस के लिए एक विकल्प के रूप में फेंक दूँगा, भले ही यह " ".join(my_list)तार के लिए तुलना में बहुत बेकार हो । गैर-स्ट्रिंग के लिए (जैसे कि इन्टर्स की एक सरणी) यह बेहतर हो सकता है:

" ".join(str(item) for item in my_list)

7

नॉन स्ट्रिंग के लिए listहम ऐसा भी कर सकते हैं

" ".join(map(str, my_list))

2

तो एक वांछित आउटपुट प्राप्त करने के लिए, हमें पहले यह जानना चाहिए कि फ़ंक्शन कैसे काम करता है।

join()अजगर प्रलेखन में वर्णित विधि के लिए सिंटैक्स निम्नानुसार है:

string_name.join(iterable)

ध्यान देने योग्य बातें:

  • यह stringके तत्वों के साथ एक समतल रिटर्न देता है iterable। तत्वों के बीच विभाजक string_name
  • किसी भी गैर-स्ट्रिंग मान में iterableवृद्धि होगीTypeError

अब, सफेद रिक्त स्थान को जोड़ने के लिए , हमें बस string_nameएक के साथ बदलने की आवश्यकता है " "या ' 'उनमें से दोनों काम करेंगे और iterableउस जगह को रख देंगे जिसे हम संक्षिप्त करना चाहते हैं।

तो, हमारा कार्य कुछ इस तरह दिखेगा:

' '.join(my_list)

लेकिन, क्या होगा अगर हम white spacesअपने तत्वों के बीच में एक विशेष संख्या जोड़ना चाहते हैं iterable?

हमें इसे जोड़ने की आवश्यकता है:

str(number*" ").join(iterable)

यहाँ, numberएक उपयोगकर्ता इनपुट होगा।

इसलिए, उदाहरण के लिए यदि number=4

फिर, का उत्पादन str(4*" ").join(my_list)होगा how are you, इसलिए हर शब्द के बीच में 4 सफेद स्थान हैं।



-9

आप सूची के आइटम में स्थान क्यों नहीं जोड़ते हैं, जैसे:
list = ["how ", "are ", "you "]


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

1
यह उस मामले में गैर-कार्यात्मक है जहां आपके पास सूची तक पहुंच नहीं है (उदाहरण के साथ उत्पन्न input(a).split(b))
TheSola10

हमें आंतरिक तारों को नहीं बदलना चाहिए क्योंकि इससे हमें अंतरिक्ष का नुकसान होता है
दीपक यादव
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.