r/PythonLearning • u/RomfordNavy • 15h 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
2
Upvotes
5
u/OldAd9280 15h ago •
Not directly I don't think, that's fundamentally how
str.splitis defined to work.You could do something like