I'm just starting python and it seemed reasonable to go ahead and learn the new version. I read that numpy wont be available for python3 until at least 2010. All I need is a basic "vector", "matrix", and some basic functions like matrix/vector multiplication. Is anything like this available for python3?

Thanks,
Dave

I guess you can play around with lists and lists of lists.

For example:

``````# create a 2D matrix of zeros and populate it

def make_list(size):
"""create a list of size number of zeros"""
mylist = []
for i in range(size):
mylist.append(0)
return mylist

def make_matrix(rows, cols):
"""
create a 2D matrix as a list of rows number of lists
where the lists are cols in size
resulting matrix contains zeros
"""
matrix = []
for i in range(rows):
matrix.append(make_list(cols))
return matrix

mx = make_matrix(3, 3)

print(mx)

print('-'*34)

# now populate the zero matrix
# for instance put a 5 in row 0, column 0
mx[0][0] = 5
# put a 7 in row 1, column 1
mx[1][1] = 7
# put a 9 in row 2, column 2
mx[2][2] = 9

print(mx)

"""
my result -->
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
----------------------------------
[[5, 0, 0], [0, 7, 0], [0, 0, 9]]
"""``````

Another example:

``````# create a 2D matrix of zeros and populate it

def make_list(size):
"""create a list of size number of zeros"""
mylist = []
for i in range(size):
mylist.append(0)
return mylist

def make_matrix(rows, cols):
"""
create a 2D matrix as a list of rows number of lists
where the lists are cols in size
resulting matrix contains zeros
"""
matrix = []
for i in range(rows):
matrix.append(make_list(cols))
return matrix

rows = 5
cols = 5
mx = make_matrix(rows, cols)

# pretty show the matrix
for x in mx:
print(x)

print('-'*16)

# load matrix with a diagonal of ones
for row in range(rows):
for col in range(cols):
if col == row:
mx[row][col] = 1

# pretty show the matrix
for x in mx:
print(x)

"""
my result -->
[0, 0, 0, 0, 0]
[0, 0, 0, 0, 0]
[0, 0, 0, 0, 0]
[0, 0, 0, 0, 0]
[0, 0, 0, 0, 0]
----------------
[1, 0, 0, 0, 0]
[0, 1, 0, 0, 0]
[0, 0, 1, 0, 0]
[0, 0, 0, 1, 0]
[0, 0, 0, 0, 1]
"""``````
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.