微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用其他 2 个列表的值获取子列表的某些值?

如何解决如何使用其他 2 个列表的值获取子列表的某些值?

我声明了 letters,哪个有更多子列表,我声明了 rowcolumns。 我想要做的是用 lettersrow 的值获得一些 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 语句应该遍历 rowcolumns 中的元素(所以从 row[0]columns[0] 开始,然后是 {{1} } 和 row[1])。

它现在正在做的是迭代 columns[1] 中的每个元素,所以它在 lettersi = 0 时中断 - 这在 j = 2 和 {{ 中不存在1}},但它是 row 中的有效坐标。

你想要的是这样的:

columns

这将遍历您的目标行列组合,而不是 letters 中的每个元素。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?