如何通过索引语法查找嵌套元组元素的索引?
例如:我通过名称NestedTuple定义了元组
NestedTuple = (5,"jazz",("pop","rock"),(3,4),("disco",(1,2)))
NestedTuple[4][0]
其输出为
'disco'
但是我想通过使用TupleNam.index()语法进行逆向处理,即我想要[4] [0]作为输出
NestedTuple.index("jazz")
NestedTuple.index(("pop","rock"))
NestedTuple.index(("disco",(1,2)))
输出为
1
2
4
我尝试了类似TupleName.index((“ disco”))等的代码,但是它们都不起作用。 如何使用索引语法将“ disco”的索引获取为[4] [0]? 我是编程语言的新手,无论是初学者,还是要入门的人,请仅使用基本知识?
答案 0 :(得分:2)
您可以创建自己的递归函数,该函数将返回嵌套元组中任何给定元素的所有索引,如上所示:
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]