亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在元組列表中搜索元素

在元組列表中搜索元素

MYYA 2023-03-22 13:52:53
我有一個問題,我從網站上抓取數據并從表中取出數據并將其放入元組列表中。是這樣的:a = [("RAM", "8GB"),("HDD", "2TB"),("SSD","1TB")]現在我想通過搜索第一個元素來獲取第二個元素的值(或者只是索引,我可以這樣獲?。?,就像使用 list.index() 函數時一樣。我知道我可以使用 for 循環或使用 dict 來對所有內容進行分類,但我感興趣的是是否有其他方法或已經存在的函數來處理這個問題。
查看完整描述

2 回答

?
DIEA

TA貢獻1820條經驗 獲得超2個贊

不使用循環就無法在列表中執行搜索。即使是內置函數,例如inor .index(),實際上也是具有 O(n) 時間復雜度的循環。例如:


>>> a = [("RAM", "8GB"),("HDD", "2TB"),("SSD","1TB")]

>>> [v for k, v in a if k == "HDD"]

['2TB']

您可以使用 adict或 aset將其減少到 O(1):


>>> dict(a)["HDD"]

'2TB'


查看完整回答
反對 回復 2023-03-22
?
呼啦一陣風

TA貢獻1802條經驗 獲得超6個贊

除了在列表中使用 dict 之外,您還可以使用 next 和理解:

>>> next(v for k, v in a if k == "HDD")
'2TB'

如果該值也不存在,這也允許您提供默認值。


查看完整回答
反對 回復 2023-03-22
  • 2 回答
  • 0 關注
  • 134 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號