我有一个字符串列表,我想确保没有长度> 20 的字符串,所以我执行了以下操作:
assert not any(name for name in my_list if len(name) > 20)
这似乎有效,但是当我执行以下操作时,它没有按预期工作,不应该工作吗?:
assert any(name for name in my_list if not len(name) <= 20)
最佳答案
更简单的方法是:
assert not any(len(name) > 20 for name in my_list)
这只是检查每个名称,直到找到一个长度超过 20 个字符的名称。
但是更好的方法是:
assert all(len(name) <= 20 for name in my_list)
这避免了反转测试的需要。
关于python - 断言包含特定长度字符串的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64943243/