gpt4 book ai didi

python - 遍历二维列表,将列表中一行的每个值分配给一个变量,对每一行重复 - python

转载 作者:太空宇宙 更新时间:2023-11-04 09:07:15 25 4
gpt4 key购买 nike

我有一个包含许多 X、Y 值的列表

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

即X = 1, Y = 2

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

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

即循环开始,X 赋值 1,Y 赋值 2,X 和 Y 用作公式中的输入,循环结束(并重复此列表中的剩余值)

aListLen = len(aList)
aListRows = len(aList)
aListCols = len(aList[0])

以下代码只在列表中逐一提取值

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 语句,但我仍然需要有一种方法来强制第二个循环重复。 (无论如何,这让我们回到了最初的问题)

for row in range(aListRows):
for column in range(aListCols):
if column == 0:
X = aList[row][column]
elif column == 1:
Y = aList[row][column]

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

有更好的方法吗?

应该指出这是 Python 2.7(所以我不能使用 Python 3 独有的任何东西)

最佳答案

您正在遍历内部列表的索引并将它们加 1。当 column 包含 aListCols 的值时,这将导致 IndexError,因为 len(a[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

关于python - 遍历二维列表,将列表中一行的每个值分配给一个变量,对每一行重复 - python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19204716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com