Python:tuple里面的元组得到子索引

时间:2015-07-22 09:17:16

标签: python tuples

我有这个元组:

STATUS = ((1, 'Standby'), (2, 'Approved'), (3, 'Rejected'))

问题似乎是tuple (x,x,x)x(i,'string')的其他元组中。STATUS[0].index('Standby')。我需要通过执行此datetime

从子元组中获取索引

但这不是一个好的解决方案,因为我无法直接找到名字。

所以,我想找到指数直接而不提我正在寻找的元组的位置。

3 个答案:

答案 0 :(得分:0)

为什么不使用列表然后使用索引?

sum

返回1

答案 1 :(得分:0)

那么,

默认情况下似乎不存在任何解决方案。所以你需要做一个功能。 使用@tobias_k的建议,我做了这个可能的解决方案。

def deepindex(mytuple,myvalue):
   for i in mytuple:
      if i.index(myvalue):
         return i.index(myvalue)

>>> deepindex(STATUS,'Standby')
>>> 1

如果您找到更好的解决方案,请告诉我。 谢谢;)

答案 2 :(得分:0)

Zip和地图似乎是一个很好的方法

zip:聚合每个可迭代的元素(* STATUS)(参见docs

map:到iterable的每个项目并返回结果列表(参见docs

使用这两个函数:你可以在另一个元组中获取一个元组的索引,如本问题中描述的那样。

>>> a,b= map(list,zip(*STATUS))
>>> a[b.index('Standby')]
>>> 1