python for矩阵中的循环赋值

python for矩阵中的循环赋值,python,arrays,for-loop,matrix,Python,Arrays,For Loop,Matrix,我正在创建一个程序,它将创建一个网格,该程序将 通过在输入端指定的矩阵数组来设计其位置 代码: def onbekende_naam(hoogtes): print(hoogtes) i = 0 j = 0 pos1 = set() for hoogtes_subs in hoogtes: j = 0 for hoogtes in hoogtes: print("i = " + str(i))

我正在创建一个程序,它将创建一个网格,该程序将 通过在输入端指定的矩阵数组来设计其位置

代码:

def onbekende_naam(hoogtes):
    print(hoogtes)
    i = 0
    j = 0
    pos1 = set()

    for hoogtes_subs in hoogtes:
        j = 0
        for hoogtes in hoogtes:
            print("i = " + str(i))
            print("j = " + str(j))
            pos1.add((i, j))
            print pos1
            j += 1
        i += 1
        #pos1.add((i, j))

    return pos1

#verwerking
print (onbekende_naam(hoogtes)) 
输入:

4 4
1 2 3 4
5 6 7 8
9 1 2 3
4 5 6 7
12 1
输出:

[['1', '2', '3', '4'], ['5', '6', '7', '8'], ['9', '1', '2', '3'], ['4', '5', '6', '7']]
i = 0
j = 0
set([(0, 0)])
i = 0
j = 1
set([(0, 1), (0, 0)])
i = 0
j = 2
set([(0, 1), (0, 0), (0, 2)])
i = 0
j = 3
set([(0, 1), (0, 3), (0, 0), (0, 2)])
i = 1
j = 0
set([(0, 1), (0, 3), (0, 0), (0, 2), (1, 0)])
i = 1
j = 1
set([(0, 1), (0, 0), (0, 2), (1, 0), (0, 3), (1, 1)])
i = 1
j = 2
set([(0, 1), (1, 2), (0, 0), (0, 2), (1, 0), (0, 3), (1, 1)])
i = 1
j = 3
set([(0, 1), (1, 2), (0, 0), (0, 2), (1, 3), (1, 0), (0, 3), (1, 1)])
i = 2
j = 0
set([(0, 1), (1, 2), (0, 0), (0, 2), (2, 0), (1, 3), (1, 0), (0, 3), (1, 1)])
i = 3
j = 0
set([(0, 1), (1, 2), (0, 0), (3, 0), (0, 2), (2, 0), (1, 3), (1, 0), (0, 3), (1, 1)])
set([(0, 1), (1, 2), (0, 0), (3, 0), (0, 2), (2, 0), (1, 3), (1, 0), (0, 3), (1, 1)])
如您所见,当i值大于2时,它停止增加j


我对这方面还不太熟悉,所以感谢您的帮助,看起来您在第二个for循环中使用了相同的名称。如果改变这个方法有效,你能试试吗

def onbekende_naam(hoogtes):
    print(hoogtes)
    i = 0
    j = 0
    pos1 = set()

    for hoogtes_subs in hoogtes:
        j = 0
        for another_name_hoogtes in hoogtes:
            print("i = " + str(i))
            print("j = " + str(j))
            pos1.add((i, j))
            print pos1
            j += 1
        i += 1
        #pos1.add((i, j))

    return pos1

#verwerking
print (onbekende_naam(hoogtes)) 
另外:当我运行您的原始代码时,会出现以下错误:

TypeError:“int”对象不可编辑


您为什么没有收到此错误?

请在问题中以格式化文本的形式包含代码,并确保其为.Ha,kan je je代码正常复制粘贴?请查看我的编辑。您甚至没有使用数组中的值。无论如何:以后不要使用重复的变量名;)非常感谢你。我以前有过这个错误,并已修复。但这次它完全没有被注意到。(在我第一次发表评论时,我看到的是你的代码,而不是我困惑的源代码)太好了。祝你的项目好运。