Python Print Without Space

Problem Formulation

Python’s print() function allows an arbitrary number of comma-separated values and prints them to the shell, separated by a single empty space character ‘ ‘.

The following example shows how you pass four string values as arguments into the print() function:

>>> print('learn', 'python', 'with', 'finxter')
learn python with finxter

The resulting shell output has an added empty space character ' ' to separate those four values.

How to print without the extra space?

Solution With Separator Argument

To print multiple values or variables without the default single space character in between, use the print() function with the optional separator keyword argument sep and set it to the empty string ''. For example, the statement print('hello', 'world', sep='') prints helloworld without the added empty space separator character.

>>> print('learn', 'python', 'with', 'finxter', sep='')
learnpythonwithfinxter

Per default, the separator keyword argument is set to the empty space sep=' '. You can also set it to any other string such as sep='-foo-' to obtain the following code:

>>> print('learn', 'python', 'with', 'finxter', sep='-foo-')
learn-foo-python-foo-with-foo-finxter

To learn more about the print function and its not very well-known arguments, feel free to watch my explainer video here:

Solution Without Separator Argument

To print multiple values or variables without the default single space character in between without explicitly overwriting the default separator argument, merge the multiple values using string concatenation before printing a single string. For example, the statement print('hello' + 'world') prints helloworld without the added empty space separator character.

>>> print('learn' + 'python' + 'with' + 'finxter')
learnpythonwithfinxter

While this solution doesn’t need a separator argument and a comma-separated argument list, it does need the plus operator + to concatenate two strings repeatedly until only one string is left. This can be tedious to write—and it may not be the most efficient solution due to the repeated creation of a new string based on two old string objects.

Solution to Print List of Strings Without Empty Space

To print a list of strings without an empty space as a separator, you have two options:

  • Use the separator argument sep='' like so: print(*str_list, sep='')
  • Merge the list into a single string using string.join() like so: print(''.join(str_list))

You can find the first way using unpacking here:

>>> str_list = ['learn', 'python', 'with', 'finxter']
>>> print(*str_list, sep='')
learnpythonwithfinxter

And the second way using string.join() here:

>>> str_list = ['learn', 'python', 'with', 'finxter']
>>> print(''.join(str_list))
learnpythonwithfinxter

To learn more about this, feel free to read my tutorial on the string.join() method.

Where to Go From Here?

Enough theory, let’s get some practice!

To become successful in coding, you need to get out there and solve real problems for real people. That’s how you can become a six-figure earner easily. And that’s how you polish the skills you really need in practice. After all, what’s the use of learning theory that nobody ever needs?

Practice projects is how you sharpen your saw in coding!

Do you want to become a code master by focusing on practical code projects that actually earn you money and solve problems for people?

Then become a Python freelance developer! It’s the best way of approaching the task of improving your Python skills—even if you are a complete beginner.

Join my free webinar “How to Build Your High-Income Skill Python” and watch how I grew my coding business online and how you can, too—from the comfort of your own home.

Join the free webinar now!