[英]Find the index list element in a list of lists
我正在尝试list.index在列表列表中的list元素中第一次出现变量。 例如:
myList = [[[(0,0),(1,1)],'add',10],[[(0,0),(1,1)],'add',10] . . . ]
我想做类似的事情:
index = myList.index((0,0))
myList[index] : [[(0,0),(1,1)],'add',10]
到目前为止,我正在尝试通过以下代码来实现:
i = 0
for cage in myList:
if cage[0][0] == A:
print('Found')
break
i += 1
print(self.Cages[i])
但是,我想为我的问题找到一个更加Python化的解决方案。
您确定使用的是最佳数据结构吗? 您不能重新考虑您的程序,使其产生更可强迫的东西吗? 这样的嵌套列表要么是反Python的...
无论如何,为什么我要重新使用您的代码,因为要使用next()
和enumerate()
:
index = next(i for i, x in enumerate(myList) if x[0][0] == A)
一个选项是使用while
循环遍历iter(my_list)
:
my_list = [[[(0,0),(1,1)],'add',10],[[(0,0),(1,1)],'add',10]]
my_iterator = iter(my_list)
item = next(my_iterator)
while (0, 0) not in item[0]:
item = next(my_iterator)
print item
输出:
>>> my_list = [[[(2,2),(1,1)],'add',10], [[(0,0),(1,1)],'add',10], [[(3,3),(1,1)],'add',10]]
>>>
>>> my_iterator = iter(my_list)
>>>
>>> item = next(my_iterator)
>>> while (0, 0) not in item[0]:
... item = next(my_iterator)
...
>>> print item
[[(0, 0), (1, 1)], 'add', 10]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.