簡體   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