简体   繁体   English

如何将参数传递给python中的timeit function?

[英]How to pass parameters to timeit function in python?

import timeit
#those are the parameters that need to be passed
list1=["Ahmed","Ahmedd"]
#loop through the parameters
for x in list1:
mysetup=x
#the function to be tested 
mycode='''
#testing if the string is unique
def is_unique_chars_using_set(string):
#Solution Using Set
characters_seen = set()
for char in string:
    if char in characters_seen:
        return False
    characters_seen.add(char)
return True'''
print (timeit.timeit(stmt = mycode,number = 1000000))

How to pass those parameters to timeit ?如何将这些参数传递给timeit

The code here doesn't uses the list actually.这里的代码实际上并没有使用列表。 The timeit cannot look inside the loop. timeit 无法查看循环内部。 (ie. It should be in proper range) (即它应该在适当的范围内)

The code below will work for you下面的代码将为您工作

import timeit
#those are the parameters that need to be passed
list1=["Ahmed","Ahmedd"]
#loop through the parameters

#the function to be tested 
mycode='''
#testing if the string is unique
def is_unique_chars_using_set(string):
    #Solution Using Set
    characters_seen = set()
    for char in string:
        if char in characters_seen:
            return False
        characters_seen.add(char)
    return True'''
print (timeit.timeit(stmt = mycode,number = 1000000))

If the for loop is needed, Then you need to include the for loop inside the "my code"如果需要 for 循环,那么您需要在“我的代码”中包含 for 循环

import timeit
mycode='''
list1=["Ahmed","Ahmedd"]
for x in list1:
    mysetup=x
    #testing if the string is unique
    def is_unique_chars_using_set(string):
        #Solution Using Set
        characters_seen = set()
        for char in string:
            if char in characters_seen:
                return False
            characters_seen.add(char)
        return True'''
print (timeit.timeit(stmt = mycode,number = 1000000))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM