जवाबों:
आप str.split पद्धति का उपयोग कर सकते हैं।
>>> my_string = 'A,B,C,D,E'
>>> my_list = my_string.split(",")
>>> print my_list
['A', 'B', 'C', 'D', 'E']
यदि आप इसे एक टुपल में बदलना चाहते हैं, तो बस
>>> print tuple(my_list)
('A', 'B', 'C', 'D', 'E')
यदि आप किसी सूची में जोड़ना चाहते हैं, तो यह प्रयास करें:
>>> my_list.append('F')
>>> print my_list
['A', 'B', 'C', 'D', 'E', 'F']
"".split(",")
रिटर्न [""]
(एक तत्व के साथ एक सूची, जो खाली स्ट्रिंग है)।
पूर्णांक में शामिल किए गए पूर्णांक के मामले में, यदि आप उन्हें int
व्यक्तिगत रूप से करने के लिए कास्टिंग से बचना चाहते हैं:
mList = [int(e) if e.isdigit() else e for e in mStr.split(',')]
इसे लिस्ट कॉम्प्रिहेंशन कहा जाता है , और यह सेट बिल्डर संकेतन पर आधारित है।
उदाहरण के लिए:
>>> mStr = "1,A,B,3,4"
>>> mList = [int(e) if e.isdigit() else e for e in mStr.split(',')]
>>> mList
>>> [1,'A','B',3,4]
>>> some_string='A,B,C,D,E'
>>> new_tuple= tuple(some_string.split(','))
>>> new_tuple
('A', 'B', 'C', 'D', 'E')
आप इस फ़ंक्शन का उपयोग सूची में अल्पविराम-सीमांकित एकल वर्ण स्ट्रिंग्स को परिवर्तित करने के लिए कर सकते हैं-
def stringtolist(x):
mylist=[]
for i in range(0,len(x),2):
mylist.append(x[i])
return mylist
#splits string according to delimeters
'''
Let's make a function that can split a string
into list according the given delimeters.
example data: cat;dog:greff,snake/
example delimeters: ,;- /|:
'''
def string_to_splitted_array(data,delimeters):
#result list
res = []
# we will add chars into sub_str until
# reach a delimeter
sub_str = ''
for c in data: #iterate over data char by char
# if we reached a delimeter, we store the result
if c in delimeters:
# avoid empty strings
if len(sub_str)>0:
# looks like a valid string.
res.append(sub_str)
# reset sub_str to start over
sub_str = ''
else:
# c is not a deilmeter. then it is
# part of the string.
sub_str += c
# there may not be delimeter at end of data.
# if sub_str is not empty, we should att it to list.
if len(sub_str)>0:
res.append(sub_str)
# result is in res
return res
# test the function.
delimeters = ',;- /|:'
# read the csv data from console.
csv_string = input('csv string:')
#lets check if working.
splitted_array = string_to_splitted_array(csv_string,delimeters)
print(splitted_array)
खाली स्ट्रिंग के मामले को संभालने के लिए निम्नलिखित पर विचार करें:
>>> my_string = 'A,B,C,D,E'
>>> my_string.split(",") if my_string else []
['A', 'B', 'C', 'D', 'E']
>>> my_string = ""
>>> my_string.split(",") if my_string else []
[]
आप उस स्ट्रिंग को विभाजित कर सकते हैं ,
और सीधे एक सूची प्राप्त कर सकते हैं :
mStr = 'A,B,C,D,E'
list1 = mStr.split(',')
print(list1)
आउटपुट:
['A', 'B', 'C', 'D', 'E']
आप इसे n-tuple में भी बदल सकते हैं:
print(tuple(list1))
आउटपुट:
('A', 'B', 'C', 'D', 'E')