尝试创建断言错误不起作用?

Trying to create assert error not working?

我正在编写一个非常基本的代码,用于检查字典长度中的列表是否大于字典另一个键中的整数。

例如,如果我有:

d = {'lst': [1,2,3,4,5] , 'compare': 5}

可以,因为列表的值(或长度)的最大数量可以是 5(小于或等于即可)。

另一方面,这应该引发断言错误:

d = {'lst': [1,2,3,4,5,6] , 'compare': 5}

因为键中列表的长度'lst' > 'compare'.

这是我尝试过的:

if len(d['lst']) > d['compare']:
    assert 'Queue is larger than max capacity'
else:
    pass

我是 'assert' 的新手,所以我可能用错了。如果有人能帮助我,将不胜感激!

assert语句把条件作为第一个"argument"。不需要 if 语句。

assert len(d['lst'] <= d['compare']), "Queue is larger than max capacity"

如果条件为 false,则会引发 AssertionError(其中包括可选的第二个参数)。否则什么也不会发生。

assert foo, bar 视为

的快捷方式
# assert foo, bar
if foo:
    raise AssertionError(bar)