Get Rid of Those Pesky Brackets When Printing Lists

Learn how to display list elements cleanly without the default brackets, making your Python output more readable and user-friendly. …

Updated August 26, 2023



Learn how to display list elements cleanly without the default brackets, making your Python output more readable and user-friendly.

Let’s face it – seeing a list printed out with square brackets can be a bit jarring. It doesn’t look as natural as simply listing the items themselves. Fortunately, Python gives us several ways to make our list output more elegant.

Understanding Lists in Python

Before we dive into printing techniques, let’s quickly recap what lists are in Python:

  • Ordered Collections: Lists store a sequence of items in a specific order.
  • Mutable: You can change the contents of a list after it’s created (add, remove, or modify elements).
  • Versatile: Lists can hold various data types – numbers, strings, even other lists!

Why Print Lists Without Brackets?

Printing lists without brackets improves readability. It’s especially helpful when:

  1. Displaying Data to Users: Imagine showing a list of items in a user interface or report – clean output is more appealing.
  2. Debugging: Seeing just the elements can make it easier to spot patterns or errors in your code.
  3. Creating Structured Output: Combining lists with other formatting techniques allows for creating well-organized reports or logs.

Methods for Bracket-Free Printing

Here are three common approaches to achieve bracket-free list printing:

1. The * Operator (Unpacking)

This method uses the asterisk (*) operator to “unpack” the elements of your list, effectively passing them as individual arguments to the print() function.

my_list = ["apple", "banana", "cherry"]
print(*my_list)  
# Output: apple banana cherry 

Explanation:

  • The * before my_list unpacks its elements into separate values.
  • These individual values are then printed by the print() function, separated by spaces (the default behavior).

2. Looping and Joining

This approach involves iterating through each element of the list using a for loop and joining them together with a separator.

my_list = ["apple", "banana", "cherry"]
print(" ".join(str(x) for x in my_list)) 
# Output: apple banana cherry

Explanation:

  • We use a list comprehension (str(x) for x in my_list) to convert each element to a string. This is necessary because the join() method works only on strings.

  • The join(" ") part then takes the joined elements and inserts a space (" “) between them.

3. The sep Argument (Simplest for Numbers) If your list contains only numbers, you can use the sep argument within the print() function.

numbers = [1, 2, 3, 4]
print(*numbers, sep=", ")
# Output: 1, 2, 3, 4

Explanation:

  • The sep parameter allows you to specify a separator that will be used between the printed items. In this case, we set it to “, “.

Choosing the Right Method:

  • For simple lists with any data type, use the * operator for concise code.

  • For more control over separators and formatting (especially with strings), use looping and joining.

Let me know if you have any other Python concepts you’d like to explore!


Stay up to date on the latest in Computer Vision and AI

Intuit Mailchimp