目前,我有以下字符串列表:
types = ['int', 'int']
和值列表:
values = [1, 'b']
我遇到的问题:
它们的长度总是相同的,所以如何遍历它们的两个长度,以便如果两个列表中的相同元素中的类型都不匹配,则会引发AssertionError错误,索引失败。
例如:
在上面的示例中,values
的第二个元素是b
,即str
。但是,在types
的列表中,第二个元素是"int"
,因此这实际上会引发AssertionError。
我的尝试:
def ok(types, values):
for index, item in enumerate(values):
for type_name in types:
if type(item) != eval(type_name):
raise AssertionError("Index: {} has failed".format(index))
types = ['int', 'int']
values = [1, 'b']
ok(types, values)
当前输出: AssertionError:索引0失败
我看到它失败了,因为它多次遍历第二个for循环。
预期输出: AssertionError:索引1失败