Python print matrix as table

I'm trying to print an array like: Table = [(0,0,0),(0,0,1),(0,1,0)].

Therefore, I want to print this array as a table like:

0 0 0
0 0 1
0 1 0

How can I make this?

I tried a simple print Table but this prints the array like this:

[(0,0,0),(0,0,1),(0,1,0)]

Python print matrix as table

Bharel

21.3k4 gold badges35 silver badges68 bronze badges

asked May 7, 2016 at 20:44

Have you tried a basic for loop?

for line in Table:
    print ' '.join(map(str, line))

It's prettier in Python 3:

for line in Table:
    print(*line)

answered May 7, 2016 at 20:47

Python print matrix as table

TigerhawkT3TigerhawkT3

47.4k6 gold badges55 silver badges89 bronze badges

1

In python3 you can print array as a table in one line:

[print(*line) for line in table]

answered Jun 16, 2017 at 6:43

@Tigerhawk's answer is very good if you want something simple.

For other cases, I highly suggest using the tabulate module, allowing great flexibility, and overcoming potential problems like few-digit ints which would cause shifting:

1 2 3
1 12 3
1 2 3

answered May 7, 2016 at 21:00

Python print matrix as table

BharelBharel

21.3k4 gold badges35 silver badges68 bronze badges

1

You could use PrettyTable package:

Example for your variable (Table) with three columns:

from prettytable import PrettyTable

def makePrettyTable(table_col1, table_col2, table_col3):
    table = PrettyTable()
    table.add_column("Column-1", table_col1)
    table.add_column("Column-2", table_col2)
    table.add_column("Column-3", table_col3)
    return table

answered May 7, 2016 at 21:09

import string
for item in [(0, 0, 0), (0, 0, 1), (0, 1, 0)]:
  temp = (' '.join(str(s) for s in item) + '\n') 
  print(string.replace(temp, '\n', ''))

Test

   $ python test.py 
    0 0 0
    0 0 1
    0 1 0

answered May 7, 2016 at 21:04

Python print matrix as table

3

I usually do something like this:

def printMatrix(s):

    for i in range(len(s)):
        for j in range(len(s[0])):
            print("%5d " % (s[i][j]), end="")
        print('\n')  

And this code gives you column and row numbers:

def printMatrix(s):

    # Do heading
    print("     ", end="")
    for j in range(len(s[0])):
        print("%5d " % j, end="")
    print()
    print("     ", end="")
    for j in range(len(s[0])):
        print("------", end="")
    print()
    # Matrix contents
    for i in range(len(s)):
        print("%3d |" % (i), end="") # Row nums
        for j in range(len(s[0])):
            print("%5d " % (s[i][j]), end="")
        print()  

The output looks like this:

         0     1     2 
     ------------------
  0 |    0     0     0 
  1 |    0     0     1 
  2 |    0     1     0 

answered May 7, 2016 at 21:11

Python print matrix as table

davo36davo36

6409 silver badges19 bronze badges

7

Outline: How To print a matrix in Python

  • numpy. array() method, or,
  • numpy.matrix class, or,
  • a list comprehension + join() method
  • join() + map() methods

Table of Contents

  • ❖ Overview
  • Print Matrix in Python
    • ❖ Method 1: Using The NumPy Library
    • ❖ Method 2: Using List Comprehension and join
    • ❖ Method 3: Using join()+map()
  • Conclusion
    • Was this post helpful?

❖ Overview

A matrix is a two-dimensional data structure consisting of elements arranged in rows and columns. For example:

Python print matrix as table

The above figure represents a 4×3 matrix since it has four rows and three columns.

Now that you know what a matrix is let us dive into the mission-critical question –

Problem Statement: Given a matrix as an input, how will you print and display it as an output in Python?

You might be wondering – “Can’t I simply print the matrix by storing it in a variable?”🤔 Unfortunately, it won’t print the input matrix. Instead, it will generate a list of lists, as shown below.

Python print matrix as table

❖ Method 1: Using The NumPy Library

Python comes with a multitude of extremely powerful libraries which allow you to work with huge amounts of data with ease.

NumPy is a library in Python that is used for scientific computing and supports powerful functions to deal with N-dimensional array objects. It also provides us with functions for working in the domains of linear algebra, fourier transform, and matrices.

📓 Note: You need to install NumPy before you can use it. You can install it using –

pip install numpy

Let’s have a look at the different ways to create and print a matrix in Python using NumPy.

1️⃣ Using numpy.array()

The array() method of the NumPy library allows you to create and print a matrix object.

Example:

import numpy asnp

arr=np.array([[0,1,4,2,3],

                [4, 2,0,1,5],

                [2,2,1,0, 3],

                [3,4,5,3,0]])

print(arr)

Output:

[[0 1 4 2 3]
[4 2 0 1 5]
[2 2 1 0 3]
[3 4 5 3 0]]

2️⃣ Using numpy.matrix()

The numpy.matrix() class returns a matrix from an array-like object or a string of data.

Syntax:

numpy.matrix(data, dtype = None)

Example:

import numpy asnp

arr=np.matrix([[0,1,4,2,3],

                [4, 2,0,1,5],

                [2,2,1,0, 3],

                [3,4,5,3,0]])

print(arr)

Output:

[[0 1 4 2 3]
[4 2 0 1 5]
[2 2 1 0 3]
[3 4 5 3 0]]

⚠️Caution: It is not recommended to use this class anymore. Instead, you should opt for regular arrays. The class may be removed/deprecated in the future.

TRIVIA

❖ Method 2: Using List Comprehension and join

✏️ In simple words, a list comprehension is a crisp and compact way of creating Python lists.

Syntax: [expression for item in iterable if condition == True]

Example:

li=[iforiinrange(1,6)]

print(li)

# [1, 2, 3, 4, 5]

✏️ join() is a function in Python that takes the items of an iterable and combines them into a single string.

Example:

li=["Java",'2','Blog']

print(''.join(li))

# Java2Blog

Thus, you can leverage the functionality of a list comprehension along with the join method to print a matrix.

Example:

arr=[[0,1,4,2,3],

       [4,2,0, 1,5],

       [2,2,1,0,3],

       [3, 4,5,3,0]]

x='\n'.join([''.join(['{:4}'.format(item) foritem inrow])forrow inarr])

print(x)

Output:

0 1 4 2 3
4 2 0 1 5
2 2 1 0 3
3 4 5 3 0

You can also use a nested for loop to replicate the above concept.

arr=[[0,1,4,2,3],

       [4,2,0, 1,5],

       [2,2,1,0,3],

       [3, 4,5,3,0]]

forrow inarr:

    forval inrow:

        print(val, end=" ")

    print()

But, the above code will result in 24 print statements as opposed to a single print statement in case of the list comprehension.

❖ Method 3: Using join()+map()

✏️ map( ) is an inbuilt method in Python that takes a function and an iterable as an input. It then executes the function by passing the iterable as an input to the function.

Syntax:

map(function, iterables)

Example:

arr=[[0,1,4,2,3],

       [4,2,0, 1,5],

       [2,2,1,0,3],

       [3, 4,5,3,0]]

foriinarr:

    print('\t'.join(map(str, i)))

Output:

0 1 4 2 3
4 2 0 1 5
2 2 1 0 3
3 4 5 3 0

Explanation:

  • the for loop allows you to iterate through each individual array/row within the matrix.
  • map(str, i) converts all the items within each row to a string and then,
  • '\t'.join combines the individual items in a single string, and then each row gets printed one by one.

Conclusion

Thus, this article unveiled numerous methods to print a matrix in Python. The simplest and the most effective way to print a matrix in Python is undoubtedly the numpy.array() method as it takes care of all arrangements and dimensions without any interference for the user.

That’s all about how to print a matrix in Python.

Read here: [Fixed] ModuleNotFoundError: No module named ‘numpy’

With that, we come to the end of this tutorial. Please subscribe and stay tuned for more interesting discussions in the future. Happy coding! 📚

That’s all about how to print matrix in Python.

How do you print a matrix table in Python?

How to Print a Matrix in Python.
numpy. array() method, or,.
numpy.matrix class, or,.
a list comprehension + join() method..
join() + map() methods..

How do you print a table in Python?

How to Print Table in Python?.
Using format() function to print dict and lists..
Using tabulate() function to print dict and lists..
texttable..
beautifultable..
PrettyTable..

How do you print a 2D array in Python?

Insert.py.
# Write a program to insert the element into the 2D (two dimensional) array of Python..
from array import * # import all package related to the array..
arr1 = [[1, 2, 3, 4], [8, 9, 10, 12]] # initialize the array elements..
print("Before inserting the array elements: ").
print(arr1) # print the arr1 elements..

How do you print a specific element of a matrix in Python?

PROGRAM:.
#Initialize array..
arr = [1, 2, 3, 4, 5];.
print("Elements of given array: ");.
#Loop through the array by incrementing the value of i..
for i in range(0, len(arr)):.
print(arr[i]),.