如何检查列表是否与类型列表匹配?

时间:2019-02-26 00:23:28

标签: python

目前,我有以下字符串列表:

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失败

0 个答案:

没有答案