我有一个包含子列表的列表,并且子列表包含其他列表和类似这样的元组
[[(1.0, 1.5), [2, 2], (1.5, 1.0)], [(1.1428571343421936, 0.28571426868438721), [1, 0], (0.5, 0.0)], [(0.66666668653488159, 0.0), [0, 0], [0, 1], (0.5, 1.25)]]
我想搜索子列表中是否存在[2,2]
,并打印包含[2,2]
的子列表的索引。例如。包含[2,2]
的子列表是0
。
我尝试使用以下代码,但是它以递增的方式提供了所有元素。
for index, value in enumerate(flat_list):
if value == [xpred,ypred]:
print(index)
请提出一些替代方案!
答案 0 :(得分:1)
尝试一下
l = [[(1.0, 1.5), [2, 2], (1.5, 1.0)], [(1.1428571343421936, 0.28571426868438721), [1, 0], (0.5, 0.0)], [(0.66666668653488159, 0.0), [0, 0], [0, 1], (0.5, 1.25)]]
is_in_l = [l.index(pos) for pos in l if [2,2] in pos]
if is_in_l:
print('List Available at {} position'.format(is_in_l[0]))
else:
print('List not present')
答案 1 :(得分:1)
以下一些代码可能会有所帮助:
x = [[(1.0, 1.5), [2, 2], (1.5, 1.0)],
[(1.1428571343421936, 0.28571426868438721), [1, 0], (0.5, 0.0)],
[(0.66666668653488159, 0.0), [0, 0], [0, 1], (0.5, 1.25)]]
looking_for = [2,2]
for i in range(len(x)):
for j in range(len(x[i])):
if x[i][j] == looking_for:
print([i,j])
我做了一个嵌套的for循环。外循环遍历列表x中的所有项目。这些项目本身就是列表。第二个for循环在子列表中迭代。最后,检查元组或列表是否与您要查找的内容相对应,并打印出要查找的元组或索引。
希望这能回答您的问题,并祝您编程愉快!