कैसे separetely एक सूची के लिए एक स्ट्रिंग से लगातार पत्र और लगातार संख्या मर्ज करने के लिए?

वोट
-3

मैं निम्नलिखित स्ट्रिंग है कहते हैं:

    string1 = 'Twenty 20 Twelve 12'

मैं इसे एक सूची है कि किसी अन्य रूप में अलग तत्वों में तार, और संख्या के रूप में शब्दों रखना होगा (पूर्णांक के रूप में) में तब्दील करना चाहते हैं:

    list1 = ['Twenty', 20, 'Twelve', 12]

मेरे वर्तमान कोड दिखाई देता है:

    list1 = [y for y in string1.replace(' ','')]

और परिणाम के रूप में प्रिंट आउट:

    ['T','w','e','n','t','y','2','0','T','w','e','l','v','e','1','2']

मैं कैसे अलग-अलग प्रविष्टियों में शब्द रखने के लिए एक कोड लिखने, और सूची में पूर्णांक में स्ट्रिंग के अंदर नंबर बंद करने में सक्षम हो जाएगा? मैं प्रोग्रामिंग करने के लिए अभी शुरुआत है जो वर्तमान में सी के साथ समानांतर में अजगर सीख रहा है कर रहा हूँ

08/11/2018 को 00:08
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


2 जवाब

वोट
2

में देखो .split()समारोह।

यह का रूप ले लेता

str.split(sep=None, maxsplit=-1)

ताकि आप अपने कोड इस तरह देखने के लिए यह अलग तोड़ने के लिए चाहते हैं।

string1 = 'Twenty 20 Twelve 12'
string1.split()
#['Twenty', '20', 'Twelve', '12']

पूर्णांक के लिए संख्या बदलती है, बस के लिए जाँच .isdigit()

[int(i) if i.isdigit() else i for i in string1.split()]
#['Twenty', 20, 'Twelve', 12]

अगर आप से परिचित नहीं हैं सूची comprehensions , इस के अनुरूप है

values = []
for i in string1.split():
    if i.isdigit():
        values.append(int(i))
    else:
        values.append(i)

values
#['Twenty', 20, 'Twelve', 12]
08/11/2018 को 00:11
का स्रोत उपयोगकर्ता

वोट
0

आप वास्तव में इसे गूगल चाहिए ....

लेकिन आप उपयोग कर सकते हैं split

string1 = 'Twenty 20 Twelve 12'
list1=string1.split(' ')
08/11/2018 को 00:11
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more