2012-04-27 8 views
12

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

उदाहरण इनपुट:

list1 = list(input("Enter the unfriendly numbers: ")) 

उदाहरण रूपांतरण:

['1', '2', '3', '4', '5'] to [1, 2, 3, 4, 5] 
+0

संभावित डुप्लिकेट (http://stackoverflow.com/questions/7368789/convert-all-strings-in-a-list-to-int) –

उत्तर

31

map() अपने दोस्त है, यह समारोह सूची में सभी आइटम को पहले तर्क के रूप में दिया लागू होता है।

map(int, yourlist) 

के बाद से यह हर iterable नक्शे, तो आप भी कर सकते हैं:

map(int, input("Enter the unfriendly numbers: ")) 

जो (python3.x में) एक नक्शे वस्तु है, जो एक सूची में बदला जा सकता देता है। मुझे लगता है कि आप python3 पर हैं, क्योंकि आपने input का उपयोग किया था, raw_input नहीं।

+1

+ 1 लेकिन क्या आपका मतलब था 'नक्शा (int, yourlist)'? –

+0

बेशक, पहले ही संपादित किया गया है। – ch3ka

+0

क्या आपका मतलब है 'नक्शा (int, इनपुट()। Split())', या py3k स्वचालित रूप से एक सूची में अंतरिक्ष से अलग इनपुट को परिवर्तित करता है? – quodlibetor

1

आप कोशिश कर सकते हैं:

x = [int(n) for n in x] 
+2

यह काम नहीं करता है। 'int' तारों पर एक विधि नहीं है। –

+0

क्षमा करें मैंने इसे संपादित किया ... यह वास्तव में मेरा मतलब है :) – Silviu

+0

यह गलत नहीं है, लेकिन मैं आम तौर पर इस तरह 'x' का पुन: उपयोग नहीं करता। –

14

एक तरीका यह सूची comprehensions उपयोग करने के लिए है:

intlist = [int(x) for x in stringlist] 
+0

+1, इनपुट में एक्स के लिए [int (x) इनपुट()। विभाजन()] 'ओपी के चश्मे को अनुरूप बनाने के लिए। – georg

-2

बस जिस तरह से आप मिल गया के बारे में उत्सुक '1', '2', '3', ' 4 '1, 2, 3, 4 के बजाय 4. वैसे भी।

>>> list1 = list(input("Enter the unfriendly numbers: ")) 
Enter the unfriendly numbers: 1, 2, 3, 4 
>>> list1 = list(input("Enter the unfriendly numbers: ")) 
Enter the unfriendly numbers: [1, 2, 3, 4] 
>>> list1 
[1, 2, 3, 4] 
>>> list1 = list(input("Enter the unfriendly numbers: ")) 
Enter the unfriendly numbers: '1234' 
>>> list1 = list(input("Enter the unfriendly numbers: ")) 
Enter the unfriendly numbers: '1', '2', '3', '4' 
>>> list1 
['1', '2', '3', '4'] 

ठीक है, कुछ कोड

>>> list1 = input("Enter the unfriendly numbers: ") 
Enter the unfriendly numbers: map(int, ['1', '2', '3', '4']) 
>>> list1 
[1, 2, 3, 4] 
3

इस काम करता है:

nums = [int(x) for x in intstringlist] 
0
l=['1','2','3','4','5'] 

for i in range(0,len(l)): 
    l[i]=int(l[i]) 
+0

आपका इंडेंट टूट गया है। –

1

कहो वहाँ नामित list_of_strings और आउटपुट नामित पूर्णांकों की सूची है स्ट्रिंग की एक सूची है list_of_intमानचित्र फ़ंक्शन एक अंतर्निहित पायथन फ़ंक्शन है जिसका उपयोग इस ऑपरेशन के लिए किया जा सकता है।

'''Python 2.7''' 
list_of_strings = ['11','12','13'] 
list_of_int = map(int,list_of_strings) 
print list_of_int 
[int करने के लिए एक सूची में सभी स्ट्रिंग्स कन्वर्ट] की