如何使用其他 2 个列表的值获取子列表的某些值?
How to get some values of sublists with the values of 2 other lists?
我声明了letters
,哪个有更多的子列表,我声明了row
和columns
。
我想要做的是用 row
和 column
的值获取 letters
的一些值。例如,我想要 letters
在行 [0](其中一个是 0
)和列 [0](其中一个是 2
)中的值,所以我必须重复在 letters
中再次处理行 [1](其中一个是 2
)和列 [1](其中一个是 1
)。所以在最后,当我打印 finalOutput
时,它应该显示在控制台 ['C', 'R']
中。
如果我的解释不好,请原谅,但你可以指导你最终的结果。
我写了这个:
letters = [['letters1', 'a', 'c', 'b', 'BUILD'], ['letter2','F', 'P', 'Z', 'W', 'SHOW', 'BUILD'], ['leters3','R', 'X', 'N', 'BUILD', 'SHOW']]
row = [0, 2]
columns = [2, 1]
finalOutput = []
for i in range(len(letters)):
for j in range(len(letters[i])):
finalOutput.append(letters[row[i]][columns[j]])
print(finalOutput)
但是使用这段代码我有下一个错误 IndexError: list index out of range
显然我没有我之前提到的输出。
希望有人能帮帮我,谢谢!
在嵌套的 for 循环中,for 语句应遍历 row
和 columns
中的元素(因此从 row[0]
和 columns[0]
开始,然后 row[1]
和 columns[1]
).
它现在正在做的是遍历 letters
中的每个元素,因此当 i = 0
和 j = 2
时它会中断 - 这在 row
和 row
中不存在columns
,但在 letters
.
中是有效坐标
你想要的是这样的:
for i in range(len(row)):
finalOutput.append(letters[row[i]][columns[i]])
print(finalOutput)
这会遍历您的目标行-列组合,而不是 letters
中的每个元素。
我声明了letters
,哪个有更多的子列表,我声明了row
和columns
。
我想要做的是用 row
和 column
的值获取 letters
的一些值。例如,我想要 letters
在行 [0](其中一个是 0
)和列 [0](其中一个是 2
)中的值,所以我必须重复在 letters
中再次处理行 [1](其中一个是 2
)和列 [1](其中一个是 1
)。所以在最后,当我打印 finalOutput
时,它应该显示在控制台 ['C', 'R']
中。
如果我的解释不好,请原谅,但你可以指导你最终的结果。
我写了这个:
letters = [['letters1', 'a', 'c', 'b', 'BUILD'], ['letter2','F', 'P', 'Z', 'W', 'SHOW', 'BUILD'], ['leters3','R', 'X', 'N', 'BUILD', 'SHOW']]
row = [0, 2]
columns = [2, 1]
finalOutput = []
for i in range(len(letters)):
for j in range(len(letters[i])):
finalOutput.append(letters[row[i]][columns[j]])
print(finalOutput)
但是使用这段代码我有下一个错误 IndexError: list index out of range
显然我没有我之前提到的输出。
希望有人能帮帮我,谢谢!
在嵌套的 for 循环中,for 语句应遍历 row
和 columns
中的元素(因此从 row[0]
和 columns[0]
开始,然后 row[1]
和 columns[1]
).
它现在正在做的是遍历 letters
中的每个元素,因此当 i = 0
和 j = 2
时它会中断 - 这在 row
和 row
中不存在columns
,但在 letters
.
你想要的是这样的:
for i in range(len(row)):
finalOutput.append(letters[row[i]][columns[i]])
print(finalOutput)
这会遍历您的目标行-列组合,而不是 letters
中的每个元素。