Python 如何通过语法TupleName.index()查找嵌套元组元素的索引

Python 如何通过语法TupleName.index()查找嵌套元组元素的索引,python,indexing,nested,tuples,Python,Indexing,Nested,Tuples,如何通过索引语法查找嵌套元组元素的索引 例如:我通过名称NestedTuple定义了我的元组 NestedTuple=(5,“爵士”,“流行”,“摇滚”,“3,4”,“迪斯科”,“1,2))) 嵌套双[4][0] 它的产量是 'disco' 但我想使用语法TupleNam.index()执行相反的过程,即我希望[4][0]作为输出 NestedTuple.index(“jazz”) 嵌套双索引((“流行”、“摇滚”)) 嵌套双倍索引((“disco”,(1,2))) 输出为 1 2. 4.

如何通过索引语法查找嵌套元组元素的索引

例如:我通过名称NestedTuple定义了我的元组

NestedTuple=(5,“爵士”,“流行”,“摇滚”,“3,4”,“迪斯科”,“1,2)))
嵌套双[4][0]
它的产量是

'disco'
但我想使用语法TupleNam.index()执行相反的过程,即我希望[4][0]作为输出

NestedTuple.index(“jazz”)
嵌套双索引((“流行”、“摇滚”))
嵌套双倍索引((“disco”,(1,2)))
输出为

1
2.
4.
我尝试了TupleName.index((“disco”)等代码,但都不起作用。 如何使用索引语法将“disco”的索引设置为[4][0]?
我是编程语言的新手,处于初学者水平,因此无论谁来回答,请只使用基本的东西?

您可以创建自己的递归函数,该函数将返回嵌套元组中任何给定元素的所有索引,如上所示:

NestedTuple = (5,"jazz",("pop","rock"),(3,4),("disco",(1,2))) 

def findIndices(item, tup):
     indices = []
     for index, elem in enumerate(tup):
          if item == elem:
               indices.append(index)
               return indices
          elif isinstance(elem,tuple):
               indices.append(index)
               return indices + findIndices(item,elem)

print(findIndices('pop',NestedTuple))
这将返回:

[2, 0]

NestedTuple
是您编写的类吗?谢谢您的帮助。但目前我对所有这些事情都不太熟悉。我想可能有一个内置的函数可以提供我想要的输出!。不幸的是,您必须为这种事情提供自己的实现。谢谢您的建议,我将应用这种技术。