一個複雜的名單上有以下列表:索引在python
list = [[[0, 0]], [[1, 0], [0, 1]], [[2, 0], [1, 1], [0, 2]]]
,我想找到它的一個單獨的子表的索引。例如:index([1,0])=1
或index([1,1])=4
等(遵循list
的相同排序),問題在於,由於前一列表的結構,項目[a,b]
未被單獨考慮。
有人知道如何有效地做到這一點?感謝您的關注。
一個複雜的名單上有以下列表:索引在python
list = [[[0, 0]], [[1, 0], [0, 1]], [[2, 0], [1, 1], [0, 2]]]
,我想找到它的一個單獨的子表的索引。例如:index([1,0])=1
或index([1,1])=4
等(遵循list
的相同排序),問題在於,由於前一列表的結構,項目[a,b]
未被單獨考慮。
有人知道如何有效地做到這一點?感謝您的關注。
可以執行扁平列表上的搜索:
l = [[[0, 0]], [[1, 0], [0, 1]], [[2, 0], [1, 1], [0, 2]]]
flattened = list(itertools.chain.from_iterable(l))
print(flattened.index([1,1]))
結果:
4
的.index( '術語')似乎只是正常工作
mylist = [[[0, 0]], [[1, 0], [0, 1]], [[2, 0], [1, 1], [0, 2]]]
In: mylist.index([[0,0]])
Out: 0
In: mylist.index([[1,0],[0,1]])
Out: 1
希望它有助於!
編輯:
你還可以:
y = [1,1]
counter = 0
for x in list:
if y in x:
print (counter)
counter = counter + 1
OP想要通過嵌套子列表進行多級索引。 – TigerhawkT3
哦,好吧。 thx,發佈新的解決方案 – epattaro
訪問列表是一個非常基本的任務。請在發佈一個新問題之前做一些研究,並且可能會找到一個教程(如[官方Python教程](https://docs.python.org/3.6/tutorial/index.html))。 – TigerhawkT3
@ TigerhawkT3:不確定重複。它尋找一個索引。 –
@ Jean-FrançoisFabre - 我明白了。在這種情況下,OP看起來像要部分壓扁任意嵌套的列表,然後找到給定元素的索引,這聽起來太寬泛了。不過,我會重新開放,以便VTC可以太寬泛。 – TigerhawkT3