दिलचस्प पोस्ट
एक रेखा और एक आयताकार के बीच का अंतर कैसे मिल सकता है? क्या एंड्रॉइड एआरटी रनटाइम में डलविक के समान विधि सीमाएं हैं? जांच करें कि क्या कोई रजिस्टर सीएमपी रेग के साथ शून्य है, 0 बनाम या रेग, रेग? एंड्रॉइड पर SQLite के लिए सर्वोत्तम प्रथाएं क्या हैं? जावा में किसी मौजूदा फ़ाइल को पाठ जोड़ने के तरीके Matlotlib में बार चार्ट्स के लिए समूह लेबल कैसे जोड़ें? उप-वर्ग से फ़्रेम विधियां कॉल करना एईएस और बेस 64 एन्कोडिंग के साथ एन्क्रिप्ट और डिक्रिप्ट करें जांचने का बेहतर तरीका है कि क्या पथ फ़ाइल या निर्देशिका है? जावा क्लास के लिए उपयोग किए जाने वाले चर को किस प्रकार उपयोग किया जाता है? जावास्क्रिप्ट का उपयोग कर नए पेज को लोड किए बिना ब्राउजर में यूआरएल बदलें सेलेनियम वेबड्राइवर को ठीक कैसे करें एक्सपैशन: ब्राउज़र कनेक्ट होने से पहले ही प्रतीत होता है? यदि कोई ऐप डाउनलोड किया गया है या नहीं, तो प्रोग्रामैटिक रूप से कैसे जांचें? कैसे विंडोज के तहत कोडांतरक में हैलो दुनिया लिखने के लिए? स्कीम में डॉट नोटेशन

पायथन में पूर्णांक में स्ट्रिंग कैसे विभाजित?

मेरे पास एक स्ट्रिंग है "42 0" (उदाहरण के लिए) और दो पूर्णांक की एक सरणी प्राप्त करने की आवश्यकता है। क्या मैं अंतरिक्ष पर एक .split कर सकता हूँ?

वेब के समाधान से एकत्रित समाधान "पायथन में पूर्णांक में स्ट्रिंग कैसे विभाजित?"

6 उत्तरों एक प्रश्न के लिए लगभग पर्याप्त नहीं हैं कि ओपी दुभाषिया में परीक्षण करके आसानी से उत्तर दे सकता है:

 >>> "42 0".split() # or .split(" ") ['42', '0'] 

ए: हाँ

लेकिन यह विशेष रूप से नहीं बताया गया है कि यदि split को डिफ़ॉल्ट रूप से विभाजित किया जाता है तो रिक्त स्थान (स्थान, टैब, कैरिएस रिटर्न और न्यूलाइन ) पर विभाजित हो जाता है,

 >>> " \r 42\n\r \t\n \r0\n\r\n".split() ['42', '0'] 

इसके अलावा, map का उपयोग आमतौर पर सूची की समझों की तुलना में क्लीनर दिखता है जब आप इटेरैबल्स के आइटम्स को int , float , str , इत्यादि जैसे बिल्ट-इन में कनवर्ट करना चाहते हैं।

 >>> map(int, "42 0".split()) [42, 0] 
 text = "42 0" nums = [int(n) for n in text.split()] 
 l = (int(x) for x in s.split()) 

यदि आप सुनिश्चित हैं कि हमेशा दो पूर्णांक होते हैं तो आप यह भी कर सकते हैं:

 a,b = (int(x) for x in s.split()) 

या यदि आप सरणी को संशोधित करने की योजना बनाते हैं

 l = [int(x) for x in s.split()] 

यह काम करना चाहिए:

 [ int(x) for x in "40 1".split(" ") ] 

बेशक आप split कॉल कर सकते हैं, लेकिन यह स्ट्रिंग लौटाएगा, न कि इंटिजर्स। कर

 >>> x, y = "42 0".split() >>> [int(x), int(y)] [42, 0] 

या

 [int(x) for x in "42 0".split()] 

अन्य उत्तर पहले ही दिखाते हैं कि आप सूची में मूल्य प्राप्त करने के लिए विभाजन () का उपयोग कर सकते हैं। यदि आप पायथन के एरेज़ के बारे में पूछ रहे थे, तो यह एक समाधान है:

 import array s = '42 0' a = array.array('i') for n in s.split(): a.append(int(n)) 

संपादित करें: एक अधिक संक्षिप्त समाधान:

 import array s = '42 0' a = array.array('i', (int(t) for t in s.split()))