PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Python
[問題] 關鍵字
作者:
legov
(lele)
2020-11-30 16:10:29
我有大約30個關鍵字
本來用if ‘ok’ in text or .......
請問有沒有什麼更好的方式嗎?
不然要 or 30次
謝謝
作者:
s0914714
(YA)
2020-11-30 16:22:00
把關鍵字加到set 然後判斷是不是in set
作者:
annheilong
(方格子)
2020-11-30 16:23:00
樓上 他應該是想要判斷 set 有沒有出現在 text 中
作者:
s0914714
(YA)
2020-11-30 16:24:00
修正一下in set 我的意思是將set的元素依序取出判斷是否有在set抱歉表達錯誤for item in set: if item in text ....
作者:
noworneverev
(小朋友)
2020-11-30 16:27:00
any
https://reurl.cc/v1OlN1
作者:
s0914714
(YA)
2020-11-30 16:29:00
推樓上 any更精簡
作者:
annheilong
(方格子)
2020-11-30 16:31:00
推 any ,keyword 可以用 set 或 list不過 any 的寫法會先組出 generator 再判斷
作者:
legov
(lele)
2020-11-30 16:46:00
各位大大,抱歉,手機臨時發文,語意不精確,原來any這麼方便,謝謝!
作者:
annheilong
(方格子)
2020-11-30 16:50:00
啊我錯了... 他不會先組出來才對應該說 generator 每取一次才產生一個
https://bit.ly/2JoXzaP
這是我測試的結果
作者:
s0914714
(YA)
2020-11-30 17:25:00
any參數必須是iterable 所以只是從container取出資料然後看判斷式True or False 如果True就馬上返回True如果遍歷完容器都沒返回就返回False
作者:
annheilong
(方格子)
2020-11-30 17:28:00
s大說的沒錯 我就是要確認他會不會看到 True 就結束答案是會
作者:
s0914714
(YA)
2020-11-30 17:29:00
其實any的概念就是or; all的概念就是and因為any/or 就是有一個條件(或元素)是True就好2個3個或更多是不會影響結果 這也是效能考量
作者:
ddavid
(謊言接線生)
2020-11-30 18:03:00
主要就是要注意看它是否為Short-circuit,有的時候其實我們會期待每一項都執行到就不能用Short-circuit evaluation
作者:
chickengod
(雞大俠)
2020-12-01 09:07:00
if re.search(r'a|b|c', text, re.I):提供 re 的做法w 如果要用在迴圈裡面 把match = re.compile(r'a|b|c', re.I) 放在迴圈外if match.search(text): 這樣可以避免重複產生objectre.I 是 regex flag 忽略大小寫
作者:
Yshuan
(倚絃)
2020-12-01 11:34:00
用re的複雜度會比 or或any好, 自己手工的話用Trie
繼續閱讀
[問題] re正則判斷
loser113
[問題] tkinter 多個視窗的使用
rs6000
[問題] 請益比對瑕疵(黑色點數)的問題
QQmickey3
[問題] numpy frompyfunc用法
nicha115
[問題] 無法使用 pysurvival 套件下的模型
zephyr1983
[問題] python抓網路影片後無法開啟
zebracoco
[問題] 用selenium 勾選 checkbox 問題
ChanSui
[問題] selenium操作chrome開啟的PDF列印
Hertzfeld
Re: [問題] 如何縮小圖片尺寸以移除圖片空白的部份
art1
[問題] list中隨機抓取數值
jack155861
Links
booklink
Contact Us: admin [ a t ] ucptt.com