您的位置:

Python生成随机矩阵

一、Python生成随机矩阵存入SQL

import random
import MySQLdb

db = MySQLdb.connect(host='localhost', user='root', password='123456', database='test',charset='utf8')

cursor = db.cursor()

#生成随机矩阵
matrix = []
for i in range(10):
    row = []
    for j in range(10):
        row.append(random.randint(0,100))
    matrix.append(row)

#将矩阵存入数据库中
for i in range(len(matrix)):
    for j in range(len(matrix[i])):
        sql = "INSERT INTO matrix(row,column,value) VALUES('%d','%d','%d')"%(i,j,matrix[i][j])
        try:
            cursor.execute(sql)
            db.commit()
        except:
            db.rollback()

db.close()

上面的代码通过调用random模块生成了一个10*10的随机矩阵,然后将矩阵中每一个元素插入到SQL数据库中的matrix表中,每个元素都对应一行记录,包括该元素对应的行、列、值三个属性。这里用到了Python中的MySQLdb模块,通过连接数据库、创建游标、执行SQL语句等操作实现了将随机矩阵存入数据库中的功能。

二、Python生成随机矩阵并保存为文件

import random

#生成随机矩阵
matrix = []
for i in range(10):
    row = []
    for j in range(10):
        row.append(random.randint(0,100))
    matrix.append(row)

#将矩阵保存为文件
with open('matrix.txt','w') as f:
    for i in range(len(matrix)):
        row = [str(x) for x in matrix[i]]
        f.write(' '.join(row)+'\n')

上面的代码同样通过调用random模块生成了一个10*10的随机矩阵,然后将矩阵以文本文件的形式保存到了本地磁盘上,文件名为matrix.txt。在将矩阵写入文件时,如果直接使用write方法将整个矩阵写入文件,那么在读取文件时难以区分每一行的开头和结尾,因此在这里将每一行的元素先转化成字符串,并用空格隔开,然后在每一行的结尾加上一个换行符,以便于在读取文件时进行按行划分。

三、Python生成随机数矩阵

import numpy as np

matrix = np.random.randint(0,100,size=(10,10))
print(matrix)

上面的代码使用了Python中的numpy模块,通过调用其中的random模块生成了一个10*10的随机矩阵,其中每个元素的取值范围在0~99之间。numpy模块可以方便地进行矩阵的生成、处理、计算等操作,相比于随机数的生成方法,使用numpy生成的随机矩阵代码更加简洁明了。

四、Python生成随机矩阵代码

import random

def random_matrix(rows,columns):
    matrix = []
    for i in range(rows):
        row = []
        for j in range(columns):
            row.append(random.randint(0,100))
        matrix.append(row)
    return matrix

matrix = random_matrix(5,5)
print(matrix)

上面的代码定义了一个函数random_matrix(rows,columns),可以通过传入矩阵的行数和列数来生成随机的矩阵,其中每个元素的范围在0~99之间。这个函数使用了与前面几个例子相同的随机数生成方法,不同的是引入了函数的概念,当需要生成多个不同大小的矩阵时,可以通过调用该函数来实现代码的高复用性。

五、Python生成随机字符串

import random
import string

def random_string(length):
    letters = string.ascii_letters  #所有字母
    return ''.join(random.choice(letters) for i in range(length))

s = random_string(10)
print(s)

上面的代码定义了一个函数random_string(length),可以通过传入字符串的长度来生成随机的字符串,其中包含了大小写字母。这个函数使用了Python中的string模块,从其中导入了ascii_letters变量,包含了所有的字母。在函数中,通过循环调用random.choice方法,从所有字母中随机抽取一个字母,最后将所有的字母拼接在一起返回一个随机字符串。

六、Python如何生成随机矩阵

可以使用Python的随机数生成方法,例如使用random模块的randint方法,生成指定范围内的随机整数,并循环调用该方法,生成一个随机矩阵;还可以使用numpy模块的random模块,直接调用其中的randint方法,生成随机矩阵。另外,也可以通过定义函数的方式封装生成随机矩阵的代码,以实现代码的复用性。

七、Python生成多个随机数

import random

a = random.randint(0,100)
b = random.uniform(0,1)
c = random.choice(['apple','banana','peach'])

print(a)
print(b)
print(c)

上面的代码展示了Python中生成多个随机数的方法,其中a是一个随机整数,在0~100之间;b是一个随机浮点数,在0~1之间;c是一个随机字符串,在给定的列表中挑选一个出来。通过循环调用不同的随机生成方法,可以同时生成多个不同类型的随机数。

八、Python生成随机列表

import random

list = []
for i in range(10):
    list.append(random.randint(0,100))

print(list)

上面的代码展示了如何使用Python生成一个随机列表,方法与生成随机矩阵类似,通过循环调用random模块的randint方法,在指定范围内生成随机数,并将它们保存到一个列表中。在这里,生成了一个包含10个随机整数的列表。

九、Python生成随机数列

import random

seq = [1,2,3,4,5,6,7,8,9]
random.shuffle(seq)

print(seq)

上面的代码展示了如何使用Python生成一个随机数列,通过调用random模块的shuffle方法,可以将指定序列(例如列表)中的元素随机打乱顺序。在这里,通过将包含1~9这些整数的序列打乱顺序,生成了一个随机数列。