如何解决使用 2D 索引在 2D 列表中查找子项的索引
这不是一个简单的问题,有点棘手,不知道是否可以在所有限制条件下解决。
所以我的列表中有这个数字,我需要一种方法来检索它的索引,问题是我的列表是一个二维列表,所以我不能真正应用 .index()
方法。否则,我将不得不传入该二维列表内的一维列表之一。当我想要的实际上是这个一维列表中数字的索引时。
我无法首先找到子列表的索引(一维列表),因为我所拥有的只是我想要查找其索引的数字,我没有子列表。 另一个主要问题是,可以在多个子列表中找到相同的数字,在这种情况下,找到这个数字将返回多个索引。
my2D_list =[[5,4,8,3,6],[3,5,6,7],[9,1,2],7,4],[7,2,3]]
#I placed in this list the numbers I need to find the index of in my2D_list.
items_to_find_the_index_of= [9,3]
我需要我的输出看起来像:
9 = my2D_list[2][0] and my2Dlist[3][0]
对于 items_to_find_the_index_of 列表中的所有数字也是如此。 我什至不知道这个问题是否真的可以按照我需要的方式解决,但感谢您花费时间和精力帮助我找到解决方法。
鲁巴。
解决方法
items_to_find_the_index_of = [9,8,3]
index_container = []
for item in items_to_find_the_index_of:
indexes = []
for index,sub_lst in enumerate(my2D_list):
try:
indexes.append((index,sub_lst.index(item)))
except ValueError:
pass
index_container.append(indexes)
print(index_container)
输出:
[[(2,0),(3,0)],[(0,2),(2,1),3)],[(1,(4,2)],3),(1,4)]]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。