在我的代码中,列表最终会以所有元素为空来结束。这就是我测试的所有元素==''。在Python中这将是与列表进行比较/测试的最快方法
列表的大小可能因输入而异。
我正在考虑的两个测试是一个相等测试,并使用list.count()函数。运行时速度会更快。
我是python的新手,所以如何在后台完成事情并不是我所熟悉的。我的假设是,测试2将更快,如果它不迭代检查每个元素进行比较。由于列表中的数据可能会从空字符串变为超过100个字符的字符串,因此测试1 count('')的简单检查也可能非常快。
示例代码设置我的变量进行测试。
mylist = [''] * 33
testlist = []
testlist.extend('' * mylist.__len__())
testlist.count('')
33
mylist.count('')
33
以下哪项测试会更快。
测试1
if mylist.count('') == 33:
do some thing
while mylist.count('') !=33:
do some thing
测试2
if mylist == testlist:
do some thing
while mylist != testlist:
do some thing
timeit看起来非常有用。我会去试验我的一些代码,看看它是如何运行的。 – nelaaro