python - 将值从 1 个列表传递到矩阵中的子列表
问题描述
我目前正在创建一个矩阵而不使用 numpy。有以下一种情况:如果整数输入的个数小于矩阵的定义维数,则用0填充空格。例如:数字输入 = 1,2,3,4 ;行 = 3 ; Columns = 2 给出(嵌套列表格式):[[1,2],[3,4],[0,0]]
对于这种情况,我有以下代码:
def mat(*Num,row,col):
Out=[]
for i in range(row):
In = []
for j in range(col):
In.append(0) # Initialize the defined matrix with 0
Out.append(In)
k=0 # Index for number input list
for i in range(len(Out)):
for j in range(i):
Out[i][j]=Num[k] # Update values from integer input list into the matrix
k+=1
return Out
mat(1,2,3,4, row=3, col=2)
但是,我得到了这个矩阵:[[0, 0], [1, 0], [2, 3]]
而不是[[1, 2], [3, 4], [0, 0]]
我应该如何改进以将所有值传递到适当位置的列表中?我在这里先向您的帮助表示感谢!
解决方案
只需生成并附加新行
def mat(*num, row, col):
matrix = []
k = 0
n = len(num)
for i in range(row):
new_row = []
for j in range(col):
if k < n:
new_row.append(num[k])
k += 1
else:
new_row.append(0)
matrix.append(new_row)
return matrix
print(mat(1,2,3,4, row=3, col=2))
推荐阅读
- javascript - 有很多容器时如何在内部 v-tooltip 上关闭外部 v-tooltip
- javascript - 无法发布 HTML 表单数据和重定向
- javascript - 反应
没有得到更新或改变其状态 - sequelize.js - Sequelize - hasMany 缓慢地获取具有许多关系的一个
- python - 为什么要在语言中使用复制功能?
- dotnetnuke - 2sxc 暂存和实时版本未呈现
- python - 从维基百科中获取属于一个主题的文章的正确命题
- reactjs - 盖茨比:通过道具传递图像
- flutter - 如何以真实大小的图片弹出到 Gridview.builder
- selenium - Selenium:使用 selenium 登录返回 400(错误请求),但手动登录时返回 200