我列出了每个r元素的r列表。
让我们说r=3
然后我有一些看起来像这样的东西:
list=[["o","o","o"],["o","i","o"],["o","o","o"]]
我想使用""" list.index(item)
"""来获取"的索引。 I"此列表中的元素。因此,我应该得到一些我想象的东西,如(x,y),其中x代表xth子列表,y代表xth子列表中的yth元素(在这种情况下为(1,1))。
如果您以后需要,我可以加入我的程序代码(游戏)。
答案 0 :(得分:2)
如果您正在寻找一个找到嵌套列表中所有值的索引的解决方案,这里有一个函数:
def find_indexes(needle, lst):
return [(lst_idx, sub_idx) for lst_idx, sublst in enumerate(lst)
for sub_idx, i in enumerate(sublst)
if i == needle]
您可以按如下方式使用:
>>> lst = [["o","a","o"],["a","i","o"],["o","o","a"]]
>>> find_indexes('a', lst)
[(0, 1), (1, 0), (2, 2)]
答案 1 :(得分:1)
您可以try
逐行查找索引:
def findI(rows):
for i,row in enumerate(rows):
try:
return (i,row.index("i"))
except ValueError:
pass
例如:
>>> x =[["o","o","o"],["o","i","o"],["o","o","o"]]
>>> findI(x)
(1, 1)
答案 2 :(得分:0)
或者你可以试试这个:
list=[["o","o","o"],["o","i","o"],["o","o","o"]]
f = [sublist for sublist in list if element in sublist][0]
print(list.index(f), f.index(element))
[0]
是因为它会返回[[a,b]]
之类的东西,因为它就像一个过滤器。但我需要[a, b]
。希望能帮助到你。这个问题是当元素不在列表中时它会失败。