如何解决如何使用其他 2 个列表的值获取子列表的某些值?
我声明了 letters
,哪个有更多子列表,我声明了 row
和 columns
。
我想要做的是用 letters
和 row
的值获得一些 column
的值。例如,我想要 letters
在 row[0](哪个是 0
)和 column[0](哪个是 2
)中的值,所以我必须重复在 letters
中再次处理 row[1](哪个是 2
)和 column[1](哪个是 1
)。所以最后当我打印 finalOutput
时,它应该显示在控制台 ['C','R']
中。
如果我的解释不好请见谅,但你可以指导你最终的结果。
我写了这个:
letters = [['letters1','a','c','b','BUILD'],['letter2','F','P','Z','W','SHOW',['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]
开始,然后是 {{1} } 和 row[1]
)。
它现在正在做的是迭代 columns[1]
中的每个元素,所以它在 letters
和 i = 0
时中断 - 这在 j = 2
和 {{ 中不存在1}},但它是 row
中的有效坐标。
你想要的是这样的:
columns
这将遍历您的目标行列组合,而不是 letters
中的每个元素。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。