在我的代碼中,列表最終會以所有元素爲空來結束。這就是我測試的所有元素==''。在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