Does the argument “delimiter”, in the example, do something specific, or was it just a convenient word to keep the argument field from being empty?
Yes, it describes the string to split on, whether a single character or multiple characters. The default form of the method takes no argument and splits on space characters. We cannot split on an empty string.
str.split() # split on spaces str.split('c') # split on 'c' str.split("") # syntax error - empty delimiter
perfectly valid syntax
>>> 'abcdefg'.split('') Traceback (most recent call last): File "<pyshell#31>", line 1, in <module> 'abcdefg'.split('') ValueError: empty separator >>>
To split on an empty string, use
It’s valid python code, it’s not valid input for that method.
Thanks, I don’t think I fully understood what the word “delimiter” means. Not sure if it was defined earlier in the lessons, but after a Google search, I think I understand the concept behind it.
Your list helps me understand!
PS (Still new to all of this, so I apologize if I’m asking questions that seem obvious.)
D’oh! Not a syntax error. Sheesh.
I’m also still pretty new to this, and obviously this is months later.
But to my understanding the “delimiter” is basically the indicator of where you want it to be split.
so if you only put .split() it defaults to the white spaces.
or if you put .split(a) it will split at the ‘a’, which means ‘a’ is what is considered the delimiter.
A delimiter indicates an endpoint.
"a string" 'a string'
The quotes are delimiters.
A separator indicates what to split on.
>>> a = "*".join('mississippi') >>> a m*i*s*s*i*s*s*i*p*p*i >>> b = a.split('*') >>> b mississippi
Correct me if i’m wong, but wouldn’t the last output in your message be a list?
[‘m’, ‘i’, ‘s’, ‘s’, ‘i’, ‘s’, ‘s’, ‘i’, ‘p’, ‘p’, ‘i’]
No, you’re not wrong. I left out a step, the
Ah, thank you! I should’ve posted the solution of ’ '.join(b) myself, could’ve helped others.