Aber vorsichtig, Splitting eine leere Zeichenfolge nicht zurück , was man hätte erwarten können: "".split(",")Erträge [""](eine Liste mit einem Element, das leere Zeichenfolge).
Johndodo
14
Bei Ganzzahlen, die in der Zeichenfolge enthalten sind, können Sie Folgendes inttun , wenn Sie vermeiden möchten, sie einzeln umzuwandeln:
mList =[int(e)if e.isdigit()else e for e in mStr.split(',')]
Es wird als Listenverständnis bezeichnet und basiert auf der Notation des Set Builders.
Ex:
>>> 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)
Hoffe, es wird das Problem lösen, aber bitte fügen Sie eine Erklärung Ihres Codes hinzu, damit der Benutzer ein perfektes Verständnis dafür erhält, was er wirklich will.
Antworten:
Sie können die str.split-Methode verwenden.
Wenn Sie es in ein Tupel konvertieren möchten, einfach
Wenn Sie an eine Liste anhängen möchten, versuchen Sie Folgendes:
quelle
"".split(",")
Erträge[""]
(eine Liste mit einem Element, das leere Zeichenfolge).Bei Ganzzahlen, die in der Zeichenfolge enthalten sind, können Sie Folgendes
int
tun , wenn Sie vermeiden möchten, sie einzeln umzuwandeln:Es wird als Listenverständnis bezeichnet und basiert auf der Notation des Set Builders.
Ex:
quelle
quelle
Mit dieser Funktion können Sie durch Kommas getrennte einzelne Zeichenfolgen in Listenzeichen konvertieren.
quelle
quelle
Beachten Sie Folgendes, um den Fall einer leeren Zeichenfolge zu behandeln:
quelle
Sie können diese Zeichenfolge aufteilen
,
und direkt eine Liste erhalten:Ausgabe:
Sie können es auch in ein n-Tupel konvertieren:
Ausgabe:
quelle