पायथन - न्यूलाइन के साथ जुड़ें


88

पायथन कंसोल में, जब मैं टाइप करता हूं:

>>> "\n".join(['I', 'would', 'expect', 'multiple', 'lines'])

देता है:

'I\nwould\nexpect\nmultiple\nlines'

हालाँकि मुझे ऐसा आउटपुट देखने की उम्मीद है:

I
would
expect
multiple
lines

मुझे यहां क्या समझ नहीं आ रहा है?

जवाबों:


88

कंसोल प्रतिनिधित्व को मुद्रित कर रहा है, न कि स्ट्रिंग को।

यदि आप उपसर्ग करते हैं print, तो आपको वह मिलेगा जो आप अपेक्षा करते हैं।

देखें इस सवाल का एक स्ट्रिंग और स्ट्रिंग के प्रतिनिधित्व के बीच अंतर के बारे में जानकारी के लिए। सुपर-सरलीकृत, प्रतिनिधित्व वह है जो आप उस स्ट्रिंग को पाने के लिए सोर्स कोड में टाइप करेंगे।


41

आप printपरिणाम को भूल गए । क्या आप प्राप्त है Pमें RE(P)Lऔर नहीं वास्तविक मुद्रित परिणाम।

Py2.x में आपको ऐसा कुछ करना चाहिए

>>> print "\n".join(['I', 'would', 'expect', 'multiple', 'lines'])
I
would
expect
multiple
lines

और Py3.X में, प्रिंट एक फ़ंक्शन है, इसलिए आपको करना चाहिए

print("\n".join(['I', 'would', 'expect', 'multiple', 'lines']))

अब वह संक्षिप्त उत्तर था। आपका पायथन इंटरप्रेटर, जो वास्तव में एक REPL है, हमेशा वास्तविक प्रदर्शित आउटपुट के बजाय स्ट्रिंग का प्रतिनिधित्व प्रदर्शित करता है। प्रतिनिधित्व वह है जो आपको reprकथन के साथ मिलेगा

>>> print repr("\n".join(['I', 'would', 'expect', 'multiple', 'lines']))
'I\nwould\nexpect\nmultiple\nlines'

13

आपको printवह आउटपुट प्राप्त करने की आवश्यकता है ।
तुम्हें करना चाहिए

>>> x = "\n".join(['I', 'would', 'expect', 'multiple', 'lines'])
>>> x                   # this is the value, returned by the join() function
'I\nwould\nexpect\nmultiple\nlines'
>>> print x    # this prints your string (the type of output you want)
I
would
expect
multiple
lines

4

आपको इसे प्रिंट करना होगा:

In [22]: "\n".join(['I', 'would', 'expect', 'multiple', 'lines'])
Out[22]: 'I\nwould\nexpect\nmultiple\nlines'

In [23]: print "\n".join(['I', 'would', 'expect', 'multiple', 'lines'])
I
would
expect
multiple
lines

4

जब आप इसे इसके साथ प्रिंट करेंगे तो आपको print 'I\nwould\nexpect\nmultiple\nlines'मिलेगा:

I
would
expect
multiple
lines

\nविशेष रूप से अंत के पाठ अंकन के लिए इस्तेमाल एक नई लाइन चरित्र है। यह रेखा या पाठ के अंत का प्रतीक है। यह विशेषताएँ कई भाषाओं जैसे C, C ++ आदि द्वारा साझा की जाती हैं।

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