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