Uważaj jednak, dzielenie pustego ciągu nie zwraca tego, czego można by się spodziewać: "".split(",")zwraca [""](listę z jednym elementem, który jest pustym łańcuchem).
johndodo
14
W przypadku liczb całkowitych, które są zawarte w łańcuchu, jeśli chcesz uniknąć rzutowania ich na intpojedynczo, możesz zrobić:
mList =[int(e)if e.isdigit()else e for e in mStr.split(',')]
Nazywa się to zrozumieniem list i opiera się na notacji konstruktora zestawów.
dawny:
>>> 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]
#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 stringsif 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)
Odpowiedzi:
Możesz użyć metody str.split.
Jeśli chcesz przekonwertować go na krotkę, po prostu
Jeśli chcesz dołączyć do listy, spróbuj tego:
źródło
"".split(",")
zwraca[""]
(listę z jednym elementem, który jest pustym łańcuchem).W przypadku liczb całkowitych, które są zawarte w łańcuchu, jeśli chcesz uniknąć rzutowania ich na
int
pojedynczo, możesz zrobić:Nazywa się to zrozumieniem list i opiera się na notacji konstruktora zestawów.
dawny:
źródło
źródło
Możesz użyć tej funkcji do konwersji pojedynczych znaków rozdzielanych przecinkami na listę
źródło
źródło
Rozważ następujące kwestie, aby obsłużyć wielkość liter w przypadku pustego ciągu:
źródło
Możesz podzielić ten ciąg
,
i bezpośrednio uzyskać listę:Wynik:
Możesz również przekonwertować go na n-krotkę:
Wynik:
źródło