繁体   English   中英

Python:元组内部的元组获取子索引

[英]Python : tuple inside tuple get child index

我有这个元组:

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

问题似乎是这是另一个tuple (x,x,x)内部的tuple (x,x,x) ,其中x(i,'string') 我需要从子元组获取索引,这可以通过执行STATUS[0].index('Standby')

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

因此,我想直接找到索引,而不要提及我要查找的元组的位置。

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

STATUS = [None, 'Standby', 'Approved', 'Rejected']
STATUS.index('Standby')

返回1

好,

似乎默认情况下不存在任何解决方案。 因此,您需要执行一个功能。 使用@tobias_k的建议,我提出了可能的解决方案。

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

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

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

邮编和地图似乎是一个好方法

zip:汇总每个可迭代对象(* STATUS)中的元素(请参阅docs

映射:到iterable的每个项目,并返回结果列表(请参阅docs

使用这两个函数:您可以在另一个元组中获取一个元组的索引,如在此问题上描述为STATUS。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM