tuple_exp = ((1, 'Raj'),
(2, 'Robert'),
(3, 'Kumar'))
我纔有價值"Kumar"
從該值需要相應的值3
任何想法?
在此先感謝
tuple_exp = ((1, 'Raj'),
(2, 'Robert'),
(3, 'Kumar'))
我纔有價值"Kumar"
從該值需要相應的值3
任何想法?
在此先感謝
map
可以用來找到搜索元素的位置(index
)。一旦找到位置,訪問其中的值將是緊湊的。
index = list(map(lambda i: i[1], tuple_exp)).index('Kumar')
tuple_exp[index][0]
超級拉傑斯,它的好主意 – Robert
有一個內置的Python數據結構稱爲dict
。這一個值到另一個
映射到你的元組轉換成這種結構,可以使用字典解析表達:
dc = {v: k for k, v in tuple_exp}
這裏發生的是,tuple_exp
是在同一時間返回一個元組在迭代過程中,該元組分別被解壓到變量k
和v
。然後添加一個字典條目,其中密鑰爲v
(元組中的第二個值),值爲k
(元組中的第一個值)。
,其構造後,你可以使用索引操作符[]
通過鍵就可以從字典中的值:
>>> dc['Kumar']
3
好了,所以只是爲了理解,一個元組是你不能修改(反對一個列表或一個詞典)。所以我們必須找到另一種方法來做到這一點(我使用python 2.7)。
,不使用 'for' 循環,我會做這樣的:
1)實例化的元組:
> tuple_exp= (
(1, 'Raj'),
(2, 'Robert'),
(3, 'Kumar'),
)
2)轉換元組字典轉換dictionnary:
> my_dict = dict(tuple_exp)
3)使用字典反向鍵和值zip
> inv_dict = dict(zip(my_dict.values(), my_dict.keys()))
4)檢查
> inv_dict['Kumar']
> 3
爲什麼不簡單地使用字典? – flazzarini
我們可以使用字典嗎?但它可能做的元組 – Robert
你試過'map' @Robert? – Rajez