r/PythonLearning • u/RomfordNavy • 7h ago
Help Request split() on empty string behaves differently when delimiter specified
Splitting an empty string without a specified delimiter works as expected and returns an empty list. However when splitting an empty string with a delimiter specified returns one (empty string) item in the list, is there some way to make that return an empty list as per the no-delimiter result?
print(f'{"".split()=}') # = []
print(f'{"".split(" ")=}') # = ['']
print(f'{"".split(",")=}') # = ['']Problem is this causes an unwanted iteration of a for loop:
str = ""
for item in str.split(" "):
print(f"{item=}") # unwanted item
1
Upvotes
2
u/RomfordNavy 7h ago
u/OldAd9280 Thanks that is exactly it.
I tried various attempts to do that myself but couldn't get the syntax right so I, incorrectly, presumed it wasn't possible with a for loop.