我很想知道Python中有什么更快的
说我有一个列表
<!-- Create a paragraph with id mydata -->
<div id="box">
<p id="mydata"> Todays Date</p>
<p> <button onclick="myFunction();"> Click </button></p>
</div>
我有两种检查项目是否在列表中的方法。
myList = ['a', 'b', 'c', 'd', 'e']
或
if item in myList:
# doSomthing()
我知道第一种方法更“ pythonic”,但在性能方面有区别吗?
答案 0 :(得分:4)
在jupyter笔记本中进行测试,第一个选项对于字符串搜索而言明显更快:
设置(来自this question):
rndm=''.join(choices(string.ascii_uppercase + string.digits, k=100000))
测试:
%timeit 'a' in rndm
26.2 µs ± 485 ns per loop
%%timeit
for let in rndm:
if let=='a':
break
2.42 ms ± 73.7 µs per loop
注意:即使我们从set()
中提取了一个rndm
并计时了一下,它仍然只会出现在1.14 ms ± 26.9 µs per loop
上