Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
遍历2D列表,将列表中某一行上的每个值赋给一个变量,对每一行重复-python_Python_List_Loops_2d - Fatal编程技术网

遍历2D列表,将列表中某一行上的每个值赋给一个变量,对每一行重复-python

遍历2D列表,将列表中某一行上的每个值赋给一个变量,对每一行重复-python,python,list,loops,2d,Python,List,Loops,2d,我有一个列表,其中包含许多X,Y值 aList = [[1, 2],[3, 4],[5, 6],[7, 8]] i、 e.X=1,Y=2 我需要分别提取行上的每个X和Y值,分别将这些值分配给X和Y变量,然后对X和Y值执行操作 然后,这应该循环到下一行,在那里同样的过程将再次发生。我将使用print,而不是这个循环之后需要出现的过多代码 i、 e.循环开始,X被指定为1,Y被指定为2,X和Y被用作公式中的输入,循环结束,并重复此列表中的其余值 aListLen = len(aList) aLis

我有一个列表,其中包含许多X,Y值

aList = [[1, 2],[3, 4],[5, 6],[7, 8]]
i、 e.X=1,Y=2

我需要分别提取行上的每个X和Y值,分别将这些值分配给X和Y变量,然后对X和Y值执行操作

然后,这应该循环到下一行,在那里同样的过程将再次发生。我将使用print,而不是这个循环之后需要出现的过多代码

i、 e.循环开始,X被指定为1,Y被指定为2,X和Y被用作公式中的输入,循环结束,并重复此列表中的其余值

aListLen = len(aList)
aListRows = len(aList)
aListCols = len(aList[0])
以下代码仅提取列表中的值1乘1

for row in range(aListRows):
    for column in range(aListCols):
        X = aList[row][column]
        print X
按如下方式添加Y变量会导致错误

for row in range(aListRows):
    for column in range(aListCols):
        X = a[row][column]
        Y = a[row][column+1]
        print X
        print Y
现在来看,我不确定下面的if/elif循环是否可以工作,因为X和Y值需要一起放入公式中。 我可以在第二个循环下添加if/elif语句,但是我仍然需要有一种方法来强制第二个循环重复。这让我们回到了最初的问题

一旦提供了X值,如何强制循环重新启动? 我假设循环会重复,这次提供Y的值

有更好的方法吗


应该指出,这是Python2.7,因此我不能使用Python3独有的任何东西,因为您正在循环内部列表的索引并向其中添加1。当列包含aListCols的值时,这将导致索引器错误,因为lena[row]==column+1

我想你正在寻找这个:

In [17]: aList = [[1, 2],[3, 4],[5, 6],[7, 8]]

In [18]: for X,Y in aList:
   ....:     print "X value is %s, Y value is %s" %(X, Y)
   ....:     
X value is 1, Y value is 2
X value is 3, Y value is 4
X value is 5, Y value is 6
X value is 7, Y value is 8

在内部列表的索引上循环并向其中添加1。当列包含aListCols的值时,这将导致索引器错误,因为lena[row]==column+1

我想你正在寻找这个:

In [17]: aList = [[1, 2],[3, 4],[5, 6],[7, 8]]

In [18]: for X,Y in aList:
   ....:     print "X value is %s, Y value is %s" %(X, Y)
   ....:     
X value is 1, Y value is 2
X value is 3, Y value is 4
X value is 5, Y value is 6
X value is 7, Y value is 8

要分配变量而不是打印变量,可以执行以下操作:

for X,Y in aList:
   tempX = X
   tempY = Y

在第一次迭代中,tempX的值为1,tempY的值为2。在第二次迭代中,tempX将是3,tempY将是4…

要分配变量而不是打印变量,您可以执行以下操作:

for X,Y in aList:
   tempX = X
   tempY = Y

在第一次迭代中,tempX的值为1,tempY的值为2。在第二次迭代中,tempX为3,tempY为4…

您可以使用递归函数代替循环。 基本上,这是一个调用自身的函数。例如:

def myfunction():
    (something happens that wants you to start the function over)
    myfunction()

因此,它将再次调用该函数,迫使代码返回顶部。

您可以使用递归函数代替循环。 基本上,这是一个调用自身的函数。例如:

def myfunction():
    (something happens that wants you to start the function over)
    myfunction()

因此,它将再次调用函数,迫使代码返回顶部。

我需要指定X=1和Y=2,以便在公式中使用X和Y变量。Print只是作为赋值后发生的情况的一个例子。我需要赋值X=1和Y=2,这样X和Y变量就可以用在公式中。“打印”只是作为分配后发生的情况的一个示例。