在Python中如何使用for迭代器作为函数参数?

在Python中如何使用for迭代器作为函数参数?,python,function,for-loop,matrix,iterator,Python,Function,For Loop,Matrix,Iterator,我试图调用一个从用户输入创建矩阵的函数,但它说我还没有定义一些东西 lstA = [] lstB = [] lstC = [] def get_list(data): lst = [] for i in range(4): aux = [] for j in range(4): aux.append(data) lst.append(aux) return lst lstA = get_list(

我试图调用一个从用户输入创建矩阵的函数,但它说我还没有定义一些东西

lstA = []
lstB = []
lstC = []

def get_list(data):
    lst = []
    for i in range(4):
        aux = []
        for j in range(4):
            aux.append(data)
        lst.append(aux)
    return lst

lstA = get_list(int(input(f'A i[{i}] j[{j}]: ')))
lstB = get_list(int(input(f'B i[{i}] j[{j}]: ')))
lstC = get_list(lstA[i][j] + lstB[i][j])
程序应从用户处获取两个4x4矩阵,将每个通知的数字放入
lstA[i][j]
lstB[i][j]

最后,
lstC
用于对
A
B
求和

错误消息:

Traceback (most recent call last):
  File "<string>", line 13, in <module>
NameError: name 'i' is not defined

[Program finished]
回溯(最近一次呼叫最后一次):
文件“”,第13行,在
名称错误:未定义名称“i”
[程序完成]

如何解决此问题?

要将数据读入矩阵,请创建如下函数:

def get_lst():
  mat = [[]] * 4
  for i in range(4):
    mat[i] = [0] * 4
    for j in range(4):
      mat[i][j] = int(input(f'mat[{i}][{j}]: '))
  return mat
此函数将要求用户输入矩阵的每个元素,并用用户输入的内容填充该位置

下面是您使用它的方式:

lstA = get_lst()
lstB = get_list()

关于矩阵元素的求和,请参考此

您试图使用在尚未调用的函数中定义的变量?那没有道理。请解释您的最终目标我希望程序将2个矩阵相加成第3个矩阵。
lstA
lstB
应该是矩阵吗?和
lstC
总和是多少?smac89是的,exactlysmac89已编辑^^