我正在尝试创建和初始化一个矩阵。我的问题是我创建的矩阵的每一行都是相同的,而不是在数据集中移动。 我试图通过检查值是否已经在矩阵中来纠正它,但这并不能解决我的问题。
def createMatrix(rowCount, colCount, dataList):
mat = []
for i in range (rowCount):
rowList = []
for j in range (colCount):
if dataList[j] not in mat:
rowList.append(dataList[j])
mat.append(rowList)
return mat
def main():
alpha = ['a','b','c','d','e','f','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
mat = createMatrix(5,5,alpha)
print (mat)
输出应如下: ['a','b','c','d','e'],['f','h','i','j','k'],['l','m','n','o','p'],['q','r','s','t','u',['v','w','x','y','z']
我的问题是,我只是不断得到所有5个列表返回的第一个a、b、c、d、e列表
您可以使用列表理解:
或者,如果不介意使用元组,请使用zip:
或者对元组应用
list
:您需要跟踪循环中的当前索引。
实际上,您需要将0、1、2、3、4、….24(这些是初始数组alpha的索引)等列表转换为:
我添加了这样做的逻辑:
然后打印出来:
您总是收到
a,b,c,d,e
的原因是,当您编写此文件时:它实际上是在为每一行迭代0-4。所以基本上:
等等
相关问题 更多 >
编程相关推荐